Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ

迷惑メールの受信を回避しながらWebでメール・アドレスを公開する方法

解説をスキップして対策方法を読む

デジタルアドバンテージ
2004/09/25
 
対象ソフトウェア
なし
スパム・メールやウイルス・メールの被害が深刻化している。
スパマーは、インターネットを巡回して、メール・アドレスを収集するツールを活用している。
ウイルスの中には、Webキャッシュを走査してメール・アドレスを見つけ出し、そこに感染メールを送信するものがある。
こうした迷惑メールの送信を防止するには、Webにメール・アドレスを公開するときに、機械的にそれがメール・アドレスとして読み取れないような工夫をするとよい。
 
解説

 商品広告などを不特定多数に発信するスパム・メールや、ウイルスに感染したコンピュータが手当たり次第に発信するウイルス感染メールなど、迷惑メールの被害が年々深刻化している。受信してしまったスパム・メールを自動的に振り分ける(これにより、ユーザーから見えないようにする)機能を持ったメール・ソフトや、そうした機能を提供する専用ソフトウェアなども販売されている。迷惑メール受信によほど困っているなら、こうしたソフトウェアの導入を検討する手もあるだろう。

 しかしそもそもは、迷惑メールを送信されないようにしたいところだ。これには、信用できないWebサイトなどでメール・アドレスを登録しない、手当たり次第に送られてきたスパム・メールに「配信停止希望」などの返信をしない(返信があると、スパマーは「生きた」アドレスとして認識し、さらに多数のスパム・メールが送信されることになる)など、個人的に注意すればある程度は被害を防止できる部分はある。

 しかし問題は、Webページ上などにメール・アドレスを掲載する場合である。例えば会社への問い合わせアドレス(例えばinfo@example.jp)や、求人用アドレス(例えばrecruit@example.jp)など、Webページを見た不特定多数のユーザーへの窓口として、メール・アドレスを告知する必要に迫られる場合がある。これがスパマーやウイルス・メールの餌食になる。

 メール・アドレスを収集しているスパマーは、ハーベスタ(「harvester」=「収穫機」の意味)やクローラー(「crawler」=「はい回る虫」の意味)と呼ばれるプログラムを持っており、これを使って定期的にインターネット上のWebを走査し、メール・アドレスらしいデータを自動的に収集している。

 メールを介して感染を広げるウイルスの中には、コンピュータ内のWebキャッシュを走査して、上記のハーベスタなどと同じくメール・アドレスを収集し、そのアドレスに向けて感染メールを送信するものがある。

 Webに公開したメール・アドレスが、こうしたハーベスタやウイルスに見つかると、そこにスパム・メールやウイルス・メールが大量に送りつけられる。


対策方法

メール・アドレスを機械的に読み取れないようにする

 こうした迷惑メール送信を防止しながら、Webでメール・アドレスを公開するにはどうすればよいだろうか。さまざまな工夫があるが、これらは総称してスパム・ブロックなどと呼ばれるようだ。すべてではないが、代表的なスパム・ブロックの方法を以下にまとめよう。

1.使い捨てのメール・アドレスを使う
 メール・サーバを所有しており、自由にアドレスを作成できるなら、一定期間ごとに公開したメール・アドレスを使い捨てるという手段がある。メール・サーバを所有していなくても、hotmailなどの無償メールを利用すればこれは可能だろう。例えばinfo@example.jpというアドレスに大量の迷惑メールがやってくるなら、このアドレスは捨てて、info1@example.jpなどを作るという方法だ。以後はinfo2@example.jp、info3@example.jp…としていけばよい。ただし、会社で告知するアドレスなどでは、体裁上この手段は使いにくいだろうし、あて先不明のエラー・メールが、管理者あてのメール・ボックスに大量に届くのは避けられない(あて先のメール・アドレスが存在しない場合、送信元へエラー・メールが返されるほか、一般的にはメール・サーバの管理者にも送信されるようになっている)。

2.メール・アドレスを擬そうする
 ハーベスタは、メール・アドレスの主要な発見方法として、単純な文字列のマッチングを利用していると想像できる。従ってこれに対抗するには、人間には分かるが、プログラムにはメール・アドレスとは分からないような工夫をしてWebに公開すればよい。

 例えば、“info@example.jp”だったとすると、

info.SPAMBLOCK@REMOVE.THIS.example.jp.INVALID

などとして、余計な文字列を挿入しておく。大文字の部分を人間が削除すれば、正しいメール・アドレスになるというわけだ。これ以外にも、“@”の代わりに「ATMARK」とフルスペルで記述するなどもある(ハーベスタが“@”をマッチングに利用していると想定した手法)。

 しかしこの方法の欠点は、メール・アドレスの仕組みをよく知るコンピュータの熟練ユーザーには問題ないが、エンド・ユーザーに対しては分かりにくく、正しいアドレスを取得できない可能性があることだ。

3.メール・アドレスをビットマップで表記する
 公開したいメール・アドレスの表記をビットマップにして、文字コードの代わりに表示するという方法もある。これなら、正しいアドレスをそのまま表示することが可能で、初心者ユーザーにとっても誤解は少ないだろう。

ビットマップとしてアドレスを表記する
単純な文字列のマッチングを実行しているハーベスタに対抗できる。

 この方法にしたところで、ビットマップの文字認識を実行すれば、アドレスが機械的に読み取られる危険性はあるが、実際にこのような方法を利用するハーベスタは(今はまだ)存在しないようである。

4.JavaScriptでアドレスを生成する
 ビットマップを応用する3.の手段もよいが、メールを送信するユーザーは、表記を見ながら手でアドレスを入力しなければならない。mailtoとしてアドレスをビットマップのリンクとして設定できれば、メール・アドレスは入力不要になるが、mailtoで指定したアドレスがハーベスタに収穫されてしまう可能性がある。

 表示もそのまま、mailtoリンクも設定したいというなら、JavaScriptを使ってアドレスをスクリプトで生成するという方法がある。例えば次のようなコードである。

<SCRIPT LANGUAGE="JavaScript">document.write("<a href=\""+"mailto:"+"info"+"@"+"example"+".jp"+"\"> "+"info"+"@"+"example"+".jp"+"</a>");</SCRIPT>

 これは最も単純なスクリプトで、単にJavaScriptの文字列連結とwriteメソッドを利用して、メール・アドレスとmailtoを指定しているだけだ。このページを表示すると、クライアント側のブラウザでスクリプトが実行され、次のように展開される。

<a href="mailto:info@example.jp">info@example.jp</a>

 これをブラウザで表示すると、“info@example.jp”がリンク文字列になり、クリックするとこのアドレスが設定された状態で新規メール用ウィンドウが表示される。

 ここでは最も単純な文字列の連結のみを使った。これでも相応の効果が期待できるが、インターネットには、さらに本格的なスクリプトが紹介されているようだ。

 初心者ユーザーにとっては、この方法が一番親切だろう。ただしJavaScriptの実行が無効になっていると、この方法は使えないので注意が必要である。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間