web-dev-qa-db-ja.com

メールデスクトップクライアントでemlファイルを提供するInternetExplorer9のオープンページを作成する

コンテキストは次のとおりです。

  • ユーザーは、デスクトップクライアント(Lotusノートなど)を使用してExplorerからemlファイルを開くことができます
  • EmlファイルがWebサイトから開かれると、この応答ヘッダー:Content-Type:message/rfc822 with Content-Disposition:inline; filename = "myfile.emlがInternetExplorerに送信されます
  • このmimeタイプは、mhtmlファイルとemlファイルで共通です。
  • ユーザーの操作を最小限に抑えたいので、「インライン」を使用しました(ダイアログボックスを開く/保存しないでください)
  • デフォルトのエクスプローラーとしてのInternetExplorer 9は、常に次のレジストリエントリを再作成しますHKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations ** message/rfc822 **\UserChoice "Progid" = "IE .message/rfc822 "
  • このエントリが削除されると、emlファイルがデスクトップメールクライアントで開かれます
  • ただし、このエントリの変更は起動時にIE)によって検出され、上記のレジストリエントリを復元するためのデフォルトのブラウザであることが要求されます

回避策のアイデアはありますか?

私は何ができますか

  • EmlファイルがWebサイトで処理される方法を変更します
  • change IE設定(イントラネットです。レジストリパッチを展開できます!)

できないこと

  • 別のブラウザ(chrome、firefox)を使用する
  • make IEデフォルト以外のブラウザ

よろしく

2
Christ-OFF

マイクロソフトに電話しました
解決策はレジストリにあります: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は、彼がmessage/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\""
2
Christ-OFF