問い合わせフォームから毎日迷惑メールがきてウンザリ・・。
カンタンに迷惑メールを減らす方法はないですか?
という疑問に答えます。
この方法の実行後結果としては、約60通/日から0通/日にできました。
参考にして頂ければ幸いです。
書き方
HTML
現在の問い合わせフォームのコードは、このようになっているかと思います。
コード
.
.
<link ~ >
<script>〜</script>
</head>
<body>
.
<form action="フォームデータ送信先" method="POST" id="postForm" >
.
</form>
これを、次のように書き換え・追記します。
コード
.
<head>
.
<script type="text/javascript" src="js/postform.js"></script>
.
</head>
<body>
.
<form action="/badPost" onSubmit="return validateForm()" method="POST" id=postForm" >
.
</form>
追記したのは、
・headタグの内側に、js/postform.jsの読み込み
・formタグ内の「action=」の中身を/badpostに書き換え
・formタグ内の「onSubmit=・・・」の中身をreturn validateFrom()に書き換え
これだけです!
js
HTMLの書き換えができたら、次に以下の内容でjsファイルを作成します。
コード
$(function validateForm(){
// フォームの送信先を正規のURLに変えます。
$('#postForm').attr('action','フォームの送信先URL');
return true;
});
仕組み解説
迷惑メールの多くは、
「いろんなサイトにアクセスして、フォームの送信先アドレスを収集するロボット」
という仕組みによってメールアドレスが集められ、それらのアドレスに一斉送信しています。
これに対抗するにはどうすれば良いかと言うと、
「メールアドレスを読み取れないように、隠してしまえば良い」。
jsファイルの内容を読み取れるツールは無いため、
- フォーム送り先URLにはダミーデータを入れておく
- 「送信ボタン」が押されたら、正しいURLに置き換えて送信する
という、処理をしています。
注意
「短いコードだから、HTMLに書いちゃえ!」と書いてしまうと、「フォームの送信先URL」をスパムメール送信先アドレスを収集するロボットに読み取られる恐れがあります。必ず外部ファイル化しましょう!