Outlook とメーリングリスト

メーリングリストシステムによっては Outlook または Outlook Express から返信したメールの件名(Subject フィールド)が正しく処理されないことがあります。件名に日本語文字が含まれる場合、プレフィックスを含む全体が件名の本文であると解釈されてしまい、プレフィックスの自動修正が利かず、重複したプレフィックスを持つ件名で配信されてしまいます。

たとえば、件名 “[foobar:100] こんにちは” のメールに対して返信ボタンを押すと返信メールの件名が自動的に “Re: [foobar:100] こんにちは” に設定されますが、このままメーリングリストに送信すると配信されたメールの件名が “[foobar:101] Re: Re: [foobar:100] こんにちは” になってしまいます。これを繰り返すと件名はどんどん長くなります。

これを防ぐには、返信するときに、次のように件名を修正するしかありません。

“Re: [foobar:100] こんにちは”
コロンとプレフィックスを削除して “Re こんにちは”
または全角のコロンを使って “Re:こんにちは”

この問題は、Subject フィールドのエンコードの仕方にあります。本来なら日本語部分だけエンコードすればよいところを、Outlook や Outlook Express は Subject フィールド全体をエンコードしてしまいます。技術的にはメーリングリストシステム側でこれに対処することも可能なのですが、レンタルサーバーの場合、必ずしもユーザーが手を出せるわけではないので、業者が対応してくれないことにはどうしようもありません。

もうひとつ見過ごされがちなのが Message-ID フィールドの問題です。本来、このフィールドには全世界で唯一の識別子を与えなければなりません。通常、”~@ドメイン名” のフォーマットが用いられます。しかし、Outlook や Outlook Express が生成する識別子は “~@コンピュータ名” になるため、全世界で唯一である保証がありません。受信したメールをスレッド単位にまとめて表示できないことがあるのはこれが原因です。

この問題を解消するには、Windows のプライマリ DNS サフィックスを設定します。たとえば、Windows XP の場合、次の手順で設定できます。

  1. [マイコンピュータ] のプロパティを開いて [コンピュータ名] ページを選択する
  2. [変更] ボタンをクリックする
  3. [コンピュータ名の変更] 画面で [詳細] ボタンをクリックする
  4. プライマリ DNS サフィックスにメールアドレスのドメイン名を設定する
  5. Windows を再起動する

この設定により、Message-ID フィールドが “~@メールアドレスのドメイン名” に変わります。