wiki:WebHTMLEmailLink

ウェブの mailto:で迷惑メールが来るのを(なるべく)防ぐ

まえふり

ウェブを見た人からメールを欲しいとき、「<a href="mailto:someone@example.com">ここにメールして!</a>」なんてこと、よくやりますよね。大きな問題は、迷惑メール業者のロボットに発見されて、メールアドレスを抜き出されて、そのうち迷惑メールがたくさん届くってことです。さあ、どうしましょうか。

さて。

うちでよくやる方法。

こういうスクリプトを用意しておいて。

<script language="javascript">
function emaillink(text, rcpt, subject) {
  var domain = "example.com";     /* メールアドレスのアットマークから後ろをここに書く */
  rcpt += "\@" + domain;
  if (text == "")
    text = rcpt
  document.write(
    "<a href=\"mailto:" + rcpt + "?subject=" + subject + "&amp" + "\">" + text + "</a>");
}
</script>

mailto:が欲しい場所で、こんなふうに記述する。

<script language="javascript">emaillink('リンクテキスト', 'アットマークの前の部分', 'メールの件名');</script>

リンクテキストを「''」にすると、メールアドレス自体がリンクテキストになります。

メールの件名は「''」でもいいです。

この方法、わりと成績いいですよ。 迷惑メール、ほとんど来ません。 迷惑メールやさんのメールアドレス収集エンジンも、わざわざJavaScriptを解読するほどのことはやらないってことなんでしょう。

問題は、よくあるHTMLエディタのたぐいが、スクリプトの部分を壊してしまいがちだということ。 エディタで開いて保存するときは、よく確認してからにしないと、 わざわざJavaScriptを実行した上で「mailto:someone@example.com」に置き換えやがります。 ひとたびこのままウェブを公開してしまうと、とたんに迷惑メールやさんに知られて、迷惑メールが届くようになります。