SPAM を回避したメールアドレス公開方法
最近は「SPAM(スパム)」と呼ばれる、ネット上で手に入れたメールアドレスに向けて、営利目的のメールを無差別に大量配信する業者が登場しています。
SPAM 対策を施したリンクからのメール発信
Web ページでメールアドレスを公開していると、「突然のメール失礼します。不要な場合は削除して下さい。」などの言葉で始まる勧誘メールが届くようになります。
このように無差別に送られてくるメールは SPAM (スパム) メールと呼ばれ、 現代社会において大きな問題となっています。
最も良い方法は「ネット上に実名やメールアドレスを公開しない」ですが、Web ページの管理人には難しい問題となります。
HTMLエンティティ化
メールアドレスなどをエンティティコード(数値文字実体参照)に変換して書き換えてやれば、WWWページを実際に見ている人間には支障を与えることなく、メールアドレスなどが自動収集ソフトなどから見つかり難くなります。
エンティティ化すると、たとえば aiueo という文字列は、aiueo という文字列になります。
このエンティティ化された文字列は、ブラウザでは正しく表示されますが、ソース上ではメールアドレスであるとの判別が難しくなるため、自動収集ソフトからの回避が図られます。
実際に試してみましょう。
ただし、最近の自動収集ソフトでは、エンティティを解釈するものも増えてきたため、意味をもたなくなってきました。
ただし、最低でも「 @ 」は「 @ 」として公開しておきましょう。
JavaScript + 画像のメールアドレスを用いたメール発信
より確実に自動収集ソフトにメールアドレスを収集されたくない場合は、HTMLエンティティ化だけではなく、次のように記述してください。
ファイル名:mail.html
<html>
<head>
<title>
メールの送信</title>
</head>
<body>
<div align=
"center"
>
<script type="text/javascript"
> <!-- var name ="hoge"
; var domain ="hoge.co.jp"
;document.write
('<a href=\"mai'+'lto:'+name
);document.write
('@'+domain+'\">'
);document.write
('画像にしてメールアドレスを公開</a>'
); </script> <noscript> 画像にしてメールアドレスを公開 </noscript></div>
</body>
</html>
【参考URL】 mailto:の書き方
上記の状態でメールアドレスを収集する場合は、JavaScriptを解釈する必要があります。
世の中の全ページのスクリプトを、いちいちチェックして回ることは非効率のため、現在のところ非常に強力な対策方法です。
ただし、JavaScript が OFF の状態では、クリックでメールを送ることはできません。その意味では、ウェブアクセシビリティは下がります。
なお、JavaScriptの説明は「JavaScript を使ってみよう」を参照してください。
それでも SPAM メール が届くようなら
他の人がメールのアドレス帳に登録していた自分のメールアドレスが流れてしまうことがあります。
また、一度業者に メールアドレスが収集されてしまうと、業者間で収集データを使いまわすことがあります。そうなると、いくらでも増えつづけ手がつけられません。
これらの詳細、対策方法は「SPAM メールの被害に遭わないために」を参考にしてください。
オススメ書籍
HTML5、CSS3、JavaScript等の学習に役立つ書籍を紹介します。