Сделайте так, чтобы Internet Explorer 9 открывал страницы, обслуживающие файлы eml, с помощью почтового клиента
Контекст следующий:
- Пользователи могут открывать файлы eml из проводника с помощью настольного клиента (например, заметок лотоса)
- Когда файл eml открывается с веб-сайта, этот заголовок ответа: Content-Type: message / rfc822 вместе с Content-Disposition: inline; filename="myfile.eml отправлены в Internet Explorer
- Этот тип пантомимы является общим для файлов mhtml и eml
- Я использовал "встроенный", так как я хочу минимизировать взаимодействие с пользователем (избегайте открывать / сохранять диалоговое окно)
- Internet Explorer 9 в качестве проводника по умолчанию всегда воссоздает следующую запись реестра: HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations**message/rfc822**\UserChoice "Progid"="IE.Message / rfc822"
- Если эта запись удалена, eml файлы открываются с помощью моего почтового клиента на рабочем столе.
- Но любые изменения, которые эта запись обнаруживает IE во время запуска, и он запрашивает браузер по умолчанию для восстановления записи реестра выше
У вас есть идея для обхода?
Что я могу сделать
- Изменить способ, которым файл eml обрабатывается сайтом
- изменить настройки IE (это интранет, я могу развернуть исправления реестра!)
Что я не могу сделать
- использовать другой браузер (Chrome, Firefox)
- сделать IE браузером не по умолчанию
С уважением
1 ответ
Решение
У меня был звонок с Microsoft
Решение в реестре: вы должны удалить некоторые "Возможности" в IE
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Capabilities\MIMEAssociations\message/rfc822]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Capabilities\MIMEAssociations\message/rfc822]
[-HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Capabilities\MIMEAssociations\message/rfc822]
С этим я могу
[HKEY_CLASSES_ROOT\MIME\Database\Content Type\message/rfc822]
"CLSID"=-
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\Content Type\message/rfc822]
"CLSID"=-
и что более важно:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\message/rfc822]
и Internet Explorer не будет проверять, что он не является программой по умолчанию для сообщения /rfc822
Не забудьте связать файлы.eml с вашим клиентом (например, заметки)
[HKEY_CLASSES_ROOT\.eml]
@="Notes.emlfile"
"Content Type"="message/rfc822"
[HKEY_CLASSES_ROOT\.eml\shell]
[HKEY_CLASSES_ROOT\.eml\shell\open]
[HKEY_CLASSES_ROOT\.eml\shell\open\command]
@="\"C:\\Program Files (x86)\\IBM\\Lotus\\Notes\\notes.exe\" -defini \"%1\""