第 4 部 : 電子メール処理技術
最終更新日: 2005年3月2日
Starr Andersen (テクニカル ライター)、Vincent Abella (テクニカル エディタ)
このドキュメントは「Windows XP Service Pack 2 での機能の変更点」の第 4 部です。ここでは、Windows XP Service Pack 2 に含まれる電子メール処理技術について詳細に説明します。
このドキュメントの内容は、Windows XP Professional および Windows XP Home Edition の 32 ビット バージョン用 Microsoft® Windows® XP Service Pack 2 (SP2) に適用されます。このドキュメントでは、Service Pack に含まれるすべての変更点について説明しているわけではありませんが、Windows XP SP2 の使用において大きな影響を持つ変更点を中心に説明し、必要に応じて追加情報の参照先も掲載されています。
Outlook Express
Windows XP Service Pack 2 でこの機能に追加された新機能
テキスト形式モード
詳細説明
Outlook Express のテキスト形式モード機能は、受信メール メッセージを HTML 形式ではなくテキスト形式にするオプションを提供します。Outlook Express がテキスト形式モードで動作している場合には、MSHTML コントロールの代わりにリッチ エディット コントロールが使用されます。リッチ エディット コントロールを使用することにより、MSHTML の使用により発生していたいくつかのセキュリティ問題を回避することができます。
この変更が重要な理由
リッチ エディット コントロールを使用すると、電子メールによって転送される悪意のあるコードに対する新たな防壁が提供されます。Outlook Express では、HTML コンテンツ内で HTML ヘッダー スクリプトを処理しているため、以前のバージョンの Windows XP を実行するコンピュータには、悪意のあるコードに対する脆弱性がありました。MSHTML コントロールでは自動的にこのようなスクリプトが実行されます。リッチ エディット コントロールでは HTML スクリプトが実行されないため、これについての脆弱性は軽減されます。テキスト形式の電子メールの場合には、正しく表示させるために HTML ヘッダー処理は必要ないので、標準のメッセージ フォーマットでは、この処理の変更に伴って見え方が変わることは通常ありません。電子メール メッセージの一部が正しく表示されない場合は、その部分が HTML 表示になっているので、システムにとって危険を伴うこともあります。
動作の相違点
次に示す Outlook Express の機能は、テキスト形式モードで動作している場合には使用できません。
テキスト形式モードの設定には、以下の方法を含めて数種類の設定方法があります。
-
メッセージを読む場合
Outlook Express の [ツール] メニューの [オプション] をクリックし、[読み取り] タブをクリックします。[メッセージはすべてテキスト形式で読み取る] チェック ボックスをオンにします。
-
メッセージを作成する場合
Outlook Express の [ツール] メニューの [オプション] をクリックし、[送信] タブをクリックします。[メール送信の形式] の [テキスト形式] オプションを選択します。
-
新しいメニュー オプションの場合
[表示] メニューの [HTML 形式のメッセージ] をクリックします。
この新しいメニュー項目は現在のメッセージ表示がテキスト形式表示であれば、これを HTML に切り替えます。これはメッセージ全体を表示する場合とプレビュー表示の両方に適用されます。
これらの問題の解決法
電子メール メッセージの送信元を信用でき、リッチ HTML 電子メールをサポートする MSHTML コントロールが提供する全機能セットを電子メールの読み取りまたは作成に使用する場合は、前の「新しいメニュー オプションの場合」で説明した [表示] メニュー オプションの手順に従って、HTML モードに切り替えることができます。
外部 HTML コンテンツのダウンロードの制限
詳細説明
この Outlook Express 機能を使用すると、ユーザーが知らない間に自分の電子メール アドレスをスパム発信者に許可することを防げるので、スパム メールを繰り返し受け取ることを回避するのに役立ちます。マーケティング技術の 1 つとしてスパムを使用するビジネスでは、電子メール メッセージの中に自分の Web サーバーにある画像への参照を含めておくのが一般的です。このようなスパム電子メール メッセージには、電子メールの受信者には見えない 1 ピクセルの画像を含んでいるものがあります。こうしておけば、受信者は悪意のあるコンテンツが含まれていることには気付きません。ユーザーが画像を含む電子メールを開くと、以前のバージョンの Outlook Express では、画像をダウンロードして表示するために自動的に Web サーバーにアクセスしていました。Web サーバーに画像を要求すると、Web サーバーはスパム電子メール メッセージがアクティブな電子メール アカウントにより受け取られたと判断し、有効な電子メール アドレスとしてスパム発信者のメーリング リストに登録します。現在は、[外部 HTML コンテンツをダウンロードしない] 機能が有効になっていると、Web サーバーにアクセスして外部コンテンツをダウンロードしないように、Outlook Express の既定の動作が変更されます。これは、スパム発信者による電子メール アドレスの検証の防止に役立ちます。このダウンロード動作は設定可能で、Windows XP Service Pack 2 のインストール時に既定で有効になっています。
この機能は、ダイヤルアップ ネットワーク接続を使用するコンピュータのユーザーが経験している共通の問題を最小限に抑えることにも役立ちます。この機能を実装する前は、ユーザーがメール メッセージをダウンロードしてからネットワーク接続を切断しても、画像またはその他の外部インターネット コンテンツを含む HTML メッセージの表示を行うと、その外部コンテンツをダウンロードするために、モデムが自動的にダイヤル発信を開始していました。
この変更が重要な理由
この機能により、Outlook Express ユーザーのプライバシーの保護が強化されます。ユーザーがスパム電子メール メッセージを開いたときに、ユーザーが知らない間に、スパム発信者の Web サーバーが自動的にユーザーの電子メール アドレスを検証することはなくなります。この機能を使うことにより、以下の利点が生まれます。
動作の相違点
Outlook Express にこの機能を実装することは、HTML 形式の電子メールに含まれている画像を、インターネットまたは制限付き Web コンテンツ ゾーンにあるサーバーから取得する必要がある場合に、その画像の表示の防止につながります。この新しい既定の動作により、画像を提供する Web サイトがユーザー名を検証しなくなるため、スパム発信者にとってはユーザーの電子メール名があまり有益ではなくなります。これにより、ユーザーがスパムを受け取る頻度は時間と共に少なくなっていくと思われます。
画像が足りないことを通知するために、今ではプレビュー領域だけでなく、Outlook Express のメッセージ ウィンドウにも外部メッセージ情報バーが表示されます。この外部メッセージ情報バーは、メッセージに画像やスクリプトのような外部インターネット コンテンツへの参照が含まれており、メッセージを HTML 形式で表示するオプションが設定されている場合には、常に表示されます。
Outlook Express がコンテンツをブロックする場合は、メール メッセージのテキスト内でブロックされている実際の画像が標準のプレースホルダに置き換わります。画像は、ブロックされた場合に何か表示されていないものがあることを示すビジュアルな手掛かりが提供される唯一の項目です。サウンド、IFrame、およびその他のコンテンツについては、メール メッセージの本体に存在を示すビジュアルな表現はありません。ブロックされたコンテンツを含む HTML 形式の電子メールをユーザーが印刷する場合には、Outlook Express は、画面に見えているとおりに、ブロックされた画像をプレースホルダに置き換えて印刷します。外部コンテンツはダウンロードされません。
さらにこの機能によって、ダイヤルアップ接続のユーザーに共通の問題が最小限に抑えられます。不必要な自動ダイヤルアップ ネットワーク接続が少なくなるのです。HTML 形式の電子メール メッセージをオフラインで表示している場合に、以前のバージョンの Outlook Express では、インターネットに接続して参照画像を取り込むために自動的にダイヤル発信をしていました。ところが、電子メール メッセージに含まれるほとんどすべての外部 HTML 参照は、インターネット ゾーンの一部であるインターネット上のリソースをポイントするため、既定でコンテンツは表示されず、ダイヤルアップ ネットワーク接続は要求されません。
これらの問題の解決法
すべての外部コンテンツのブロックを無効にするには、[ツール] メニューの [オプション] をポイントし、[セキュリティ] をクリックします。[HTML 電子メールにある画像および外部コンテンツをブロックする] チェック ボックスをオフにします。この時点からコンテンツはブロックされなくなり、Outlook Express の動作は以前と同じく、自動的に外部コンテンツをダウンロードするようになります。
電子メール メッセージの外部コンテンツを明示的にダウンロードするには、外部メッセージ情報バーをクリックして、メッセージに含まれる外部コンテンツをダウンロードします。
AES (Attachment Execution Service) API の統合
説明
Outlook Express では、AES (Attachment Execution Service) と呼ばれる新しい API (アプリケーション プログラミング インターフェイス) セットを統合して、電子メールの添付ファイルをチェックします。これにより、同じような安全性チェックを行っていたカスタム コードをアプリケーションから取り除いて、集中管理できる API セットに頼ることができるようになります。AES を使用することによって、添付ファイルのセキュリティをチェックするすべてのアプリケーションにわたって、一貫したユーザー エクスペリエンスを提供できます。
この変更が重要な理由
添付ファイルのセキュリティに関しては、すべての Windows アプリケーションにわたる、より統一したアプローチを採用することが重要です。これにより、添付ファイルに実行されるセキュリティ チェックに関して、ユーザーは一貫したエクスペリエンスを得ることができます。
動作の相違点
一貫したユーザー エクスペリエンスを除けば、この機能はユーザーにとって目に見える違いを何も提供しません。
Windows XP Service Pack 2 に対応するためにコードの変更が必要かどうか
開発者が意識すべき機能の違いがいくつかあります。
API 名が提供される場合には、AES API となります。[添付ファイルを許可しない] 設定が無効の場合には、Outlook Express は、SetReferer() を呼び出し、http://<URL> をパラメータとして渡します。これによって、次に続く CheckPolicy() の呼び出しでは、Outlook Express がインターネット Web コンテンツ ゾーンにあると見なされます。AES では、呼び出し元がインターネット ゾーンと制限付きセキュリティ ゾーンのどちらのコンテキストにあるのかによって、識別方法が異なります。次に、AES API がサポートするさまざまな動作の概要を示します。
添付ファイルを含むメッセージをプレビューする際の動作
プレビュー領域が表示される前に、CheckPolicy() が呼び出されて、プレビュー領域のヘッダーにある添付ファイル アイコンに関連付けられているメニュー オプションの状態が判別され、対応するアクションが次のように実行されます。
-
CheckPolicy() が E_Fail (危険な添付ファイル)、S_OK、または S_False (安全な添付ファイル) を返した場合は、Outlook Express の従来の機能に変更はありません。
-
添付ファイルを開いて一時ファイルとして保存し、現在使用している ShellExecute() 呼び出しではなく、Execute() を呼び出してファイルを実行します。
-
Execute() が失敗した場合、次に続くユーザー アクションは AES によって処理されます。
-
表示される [添付ファイルの保存] ダイアログ ボックスでは、添付ファイルの一覧に、メニューで有効となる項目が含まれています。ブロックされた添付ファイルは、[添付ファイルの保存] ダイアログ ボックスには表示されません。ユーザーが保存先のフォルダを選択して [保存] をクリックすると、Outlook Express はファイルを指定フォルダに保存し、保存したファイルごとに Save() を呼び出します。
複数の添付ファイルを含むメールをプレビューする場合は、添付ファイルごとに CheckPolicy() が呼び出されます。戻り値が E_Fail、S_OK、または S_False のいずれであるかに応じて、Outlook Express はメニュー内の添付ファイル名を無効か有効にします。
CheckPolicy() が S_OK を返さない場合は、後の処理で Save() が失敗する可能性があります。この場合、Outlook Express には、失敗したファイルの一覧と共に、「次の添付ファイルは安全であることを確かめることができなかったので、保存されませんでした」というエラー メッセージが表示されます。
添付ファイルを含むメッセージを読む際の動作
Outlook Express のメッセージ ウィンドウが表示される前に、各添付ファイルに対して CheckPolicy() が呼び出され、表示する添付ファイルとユーザーへのアクセスをブロックする添付ファイルが判別されます。
-
CheckPolicy() が E_Fail (危険な添付ファイル)、S_OK、または S_False (安全な添付ファイル) を返した場合、Outlook Express は従来どおりに動作します。メッセージ ウィンドウの [添付] 領域に表示されている添付ファイルをダブルクリックした場合は、プレビュー領域から添付ファイルを実行する場合に説明したものとまったく同じ手順になります。
-
ユーザーが [名前を付けて保存] をクリックし、保存先フォルダとファイル名を選択して、[保存] をクリックした場合、Outlook Express は添付ファイルを指定フォルダに保存して、同期をとるために Save() を呼び出します。
-
ユーザーが [印刷] を選択した場合は、添付ファイルを実行する場合と同様ですが、Outlook Express はパラメータなしで Execute() を呼び出す代わりに、Execute("print") を呼び出します。ファイルを一時ファイルに格納するような、その他すべての作業は、添付ファイルを実行する際と同じになります。
-
[添付ファイルを許可しない] 設定が無効の場合には、Outlook Express は、SetReferer() を呼び出し、http://<URL> をパラメータとして渡します。これによって次に続く CheckPolicy() の呼び出しでは、Outlook Express がインターネットの Web コンテンツ ゾーンにあるものと見なされます。
添付ファイルを含むメッセージを移動する際の動作
添付ファイルを含むメッセージをドラッグしてデスクトップに持って行く場合など、ユーザーが項目を Outlook Express の外に移動する場合には、Outlook Express では次のようなアクションが実行されます。
正常に実行されると、HDROP は利用可能になります。
失敗した場合は、HDROP は利用可能とならず、ドロップ操作対象は無効となります。