サイト管理者のための迷惑メール対策

ブログの更新をおろそかにして、最近取り組んでいることの一つが、迷惑メール対策の見直しです。
私が運営している複数のWebサイトのうち、3つのサイトで、問い合わせ用のメールアドレスを公開しています。そのうち1つは自分の仕事用のサイト、残りは運営を受託しているサイトです。自分の仕事用のサイトについての問い合わせメールは、当然、自分で受信していますが、運営を受託している2つのサイトについても、メールの受信を代行しています。
問い合わせメールの受信と応答は、技術的には難しいものではありませんので、サイトのオーナーが自分で行なっても構わないと思うのですが、煩わしいことがいろいろとあり、サイト管理者に委託したい(=サイトオーナーが自分ではやりたくない)業務の様です。
その、煩わしいことの代表が、迷惑メール対策です。
現在、サイト上に問い合わせ用として公開しているメールアドレスに対し、1ヶ月平均で400件以上の迷惑メールが来ています。


さて、迷惑メールは、迷惑メールフィルターを用いて、分類したり遮断したりすることができます。私の環境では、以下の様な迷惑メールフィルタが使えます。
・DIONのメールサーバー上のフィルタ
・@niftyのメールサーバー上のフィルタ
・メールソフトのフィルタ(AppleのMail、Thunderbird)
また、メールサーバやメールソフトに迷惑メールフィルター機能が無くても、市販の迷惑メール対策ソフトを使うことができますが、私の環境では、あまり役には立ちません。(Windows用のNorton AntiSpamがあるのですが、Windowsでは、メールの送受信をしていないので。)
今使っている迷惑メールのフィルター機能は、完璧にはほど遠いですが、それでもかなり役に立っています。Webサイトの問い合わせ用アドレス以外にも、個人用途で使っているDIONのアドレスと旧NiftyServeのアドレスには、かなりの数の迷惑メールが届きますが、そのほとんどはサーバ上で分類され、パソコンに受信する件数はかなり少なくなっています。さらに、メールソフトのフィルターで分類されるので、通常のメールとして残ってしまうものは、月に5~6件程度です。ただし、迷惑メールではないものが迷惑メールとして判断されてしまうこともあるので、時々、分類された結果を確認する必要があります。
しかし、Webサイトの問い合わせ用アドレスとなると、これらの迷惑メールフィルターはあまり役には立ちません。
まず、「Webサイトの訪問者からの問い合わせ」という用途であるため、送信元が事前に特定できず、迷惑メールフィルターの許可アドレスリストを使うことはできません。
また、Hotmailなどのフリーアドレスを使った問い合わせも多く、必要なメールであるのに、誤って迷惑メールとして判断されてしまうこともあります。
実際、自分の仕事の問い合わせメールが迷惑メールと判断され、対応が遅れてしまったことがあります。つい先日も、日曜の深夜に仕事の相談のメールが来ていたのですが、メールソフト(AppleのMail)のフィルターで迷惑メールと判断され、仕事のメールであることに気づいたのは火曜の夜でした。ちなみに、送信元のメールアドレスは、Hotmailのもの。
では、Webサイトの問い合わせ用アドレスは、どのような迷惑メール対策をすれば良いのでしょうか?
まず、必要なメールが、誤って迷惑メールとして判断されない様にすることが重要です。
しかし、普通に迷惑メールフィルターを使っていたのでは、必要なメールを識別するのは難しいことです。なにしろ、送信元アドレスも、タイトルも、送信者の環境も、経由するサーバも、必要なメールであることの条件を見つけ出すことは難しいのですから。
そこで、メールを送信する環境を制限することを考えてみました。もちろん、メールソフトは必ずThunderbirdを使ってくださいとか、そんなことをサイト訪問者にお願いすることはできません。サイト内に問い合わせ用のメール送信フォームを用意するのです。メールを受信するときには、メールヘッダーの情報をもとにフォームから送られて来たメールであることが識別できるはずなので、メールサーバやメールソフトのフィルターの許可条件に設定します。残りのメールは、メールサーバやメールソフトのフィルターに任せてしまいます。
もちろん、掲載されているアドレスに、自分が普段使っているメール環境から送信したい人もいるはずですが、「このメール送信フォームを使用せずに、メールを送って頂いた場合、迷惑メールフィルターに処理されて、対応が遅れることがありますので、ご了承下さい。」などと、注意書きをフォームのそばに添えておけば十分でしょう。
さて、これだけなら、新たにソフトを導入したりする必要は無さそうですが、そんなに簡単には行きません。
使用しているWebサーバでメール送信フォームが利用できない場合は?
》mailtoを使ってメールを送ってもらいます。このとき、subjectを設定しておき、受信時にはsubjectの文字列で識別します。mailtoのリンクのそばに「メールタイトルは変更しないで、そのまま送ってください。」等の注意書きが必要です。
 <a href=”mailto:xxxx@poor-se.com?subject=What is poor se?”>お問い合わせ</a>
でも、そもそも、問い合わせメールに確実に応答したい様なサイトを、メール送信フォームも利用できない様なサーバで公開すべきではありません。
メール送信フォームを利用しても、自分のサイトから送信されたことを識別するのが困難な場合は?
》subjectを固定(あるいは選択)にし、subject内に、識別可能な文字列を含ませます。問い合わせ内容のタイトルは、本文の中に埋め込めば十分です。
なお、自分のサイト用には、Perlでメール送信用のCGIを自作し、ヘッダー部に任意の文字列を設定して識別することができるようにしています。(例えば、X-Mailerに、送信元サイトの識別情報を設定する等)
メール送信フォームを使ってくれない人が多い場合は?
》「迷惑メールとして判断される場合があります」と警告しているのですから、そういう困った人たちは無視したい所ですが、仕事のサイトなら、そうも行きませんね。事前にメール送信フォームを使って空メールを送ってもらい、迷惑メールフィルターに有効なアドレスとして認識させるという方法が考えられます。
ただし、私が使っている環境では、特定の条件のメールについて、アドレス帳に自動登録するなどの機能はありませんので、手動で対応するしかありません。(AppleのMailなら、AppleScriptとの組み合わせで、何かできるかもしれない。)
冒頭にあげた、私が運営するサイトでは、送信環境の識別が確実にできる様、自作のメール送信CGIの適用を始めた所です。
メール送信フォームを使ってもらえないケースへの対応については、アドレスの事前通知による許可リストの自動登録の機能を検討する必要がありますが、それだけに留まらず、サイト管理者宛のメールを処理するツールとして検討中です。

“サイト管理者のための迷惑メール対策” への 2 件のフィードバック

  1. その問題対策中ですww
    CGIが妥当な所なんでしょうか?
    どうやらスパム業者が、アドレスをクローラーで読み込んで
    スパム迷惑メールを送りつけてるようですので、
    読み取られないようにメールアドレスの公開時点で
    アドレスを画像にするか、アットマークを大文字か二重丸にするか、
    文字参照でHTMLにするか(文字参照でも読み取るクローラーがいたり)
    こうすると迷惑メールが減りますが、顧客がコピーできなかったり
    不信に思ったり手間や間違い易いのでどうかと思ってる次第です…

  2. nao65さん、コメントどうもです。
    アドレス公開時の対策も必要ですね。でも、別の所から漏れる可能性もありますし、サイト訪問者にとって不便そうです。
    アドレス公開時の対策としては、アドレスを見せずに、フォームとリンクの中に埋め込むだけにし、定期的にアドレスを変更するという手段が、有効かもしれません。
    今回の私の対策は、既にスパム業者に拾われているアドレスを、破棄せずにそのまま使う場合の対策です。

コメントは受け付けていません。