タイトル画像
サイトタイトル画像

SPAM を回避したメールアドレス公開方法

最近は「SPAM(スパム)」と呼ばれる、ネット上で手に入れたメールアドレスに向けて、営利目的のメールを無差別に大量配信する業者が登場しています。

SPAM 対策を施したリンクからのメール発信

Web ページでメールアドレスを公開していると、「突然のメール失礼します。不要な場合は削除して下さい。」などの言葉で始まる勧誘メールが届くようになります。

このように無差別に送られてくるメールは SPAM (スパム) メールと呼ばれ、 現代社会において大きな問題となっています。

最も良い方法は「ネット上に実名やメールアドレスを公開しない」ですが、Web ページの管理人には難しい問題となります。

HTMLエンティティ化

メールアドレスなどをエンティティコード(数値文字実体参照)に変換して書き換えてやれば、WWWページを実際に見ている人間には支障を与えることなく、メールアドレスなどが自動収集ソフトなどから見つかり難くなります。

エンティティ化すると、たとえば aiueo という文字列は、aiueo という文字列になります。

このエンティティ化された文字列は、ブラウザでは正しく表示されますが、ソース上ではメールアドレスであるとの判別が難しくなるため、自動収集ソフトからの回避が図られます。

実際に試してみましょう。

E-mailアドレス(変換前):
E-mailアドレス(変換後):

ただし、最近の自動収集ソフトでは、エンティティを解釈するものも増えてきたため、意味をもたなくなってきました。

ただし、最低でも「 @ 」は「 @ 」として公開しておきましょう。

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('&#64;'+domain+'\">');
 document.write('画像にしてメールアドレスを公開</a>');

</script>
<noscript>
画像にしてメールアドレスを公開
</noscript>
</div>

</body>
</html>

【参考URL】 mailto:の書き方

上記の状態でメールアドレスを収集する場合は、JavaScriptを解釈する必要があります。

世の中の全ページのスクリプトを、いちいちチェックして回ることは非効率のため、現在のところ非常に強力な対策方法です。

ただし、JavaScript が OFF の状態では、クリックでメールを送ることはできません。その意味では、ウェブアクセシビリティは下がります。

なお、JavaScriptの説明は「JavaScript を使ってみよう」を参照してください。

それでも SPAM メール が届くようなら

他の人がメールのアドレス帳に登録していた自分のメールアドレスが流れてしまうことがあります。

また、一度業者に メールアドレスが収集されてしまうと、業者間で収集データを使いまわすことがあります。そうなると、いくらでも増えつづけ手がつけられません。

これらの詳細、対策方法は「SPAM メールの被害に遭わないために」を参考にしてください。

スポンサードリンク

オススメ書籍

HTML5、CSS3、JavaScript等の学習に役立つ書籍を紹介します。

人気コンテンツ

    Copyright ©2015 .(since 2004/07/11)