2009-05-15 7 views
0

最近、ますますスパムメールが増えています。私はすでに正規表現を使って電子メールを検証していますが、すべての電子メールは次のようなものでなければなりません:[email protected]phpを使って電子メールが存在するかどうかを確認する方法はありますか?

しかし、私は今、問題がありますが、[email protected]、iluvhahahahah @ yahoo .com、私はそれらに電子メールを送信しようとしたので、これらの電子メールは存在しません。

これらのメールを避けるにはどうすればよいですか?

答えて

5

あなたは間違った木を樹立しています。スパムを阻止するより良い方法は、フォームから他の方法でそれらを除外することです。 reCAPTCHAのようなCAPTCHAのファンでなければ、"Honeypots"と呼ばれるものを調べる必要があります。基本的には、フォームに "email"のような共通の名前を付けて余分なフィールドを追加し、CSSで非表示にします。スタイルを無効にして閲覧する場合は、「空白にする」とマークします。フィールドに値が入っている場合は、ボットの可能性が最も高いので、送信してください。 Voila。スパマーは特に平均的な中規模のウェブサイトではうまく動作し、スパマーは特に心配する必要はありません。 this related questionをチェックしてください。

普通のユーザーに何もしなくても、スパムの99%を抑えるのに十分なので、私はハニーポットが好きです。これは重要。

あなたの元の質問に素早く答えるには:電子メールが有効であることを確認する唯一の方法は、実際にそのアドレスに電子メールを送信して、それがバウンスするかどうかを確認することです。しかし、一般的に面倒なことではありません。

+0

最高の方法です!あなたのサイトがむしろ知られていない場合は、2 + 7 = 9など...それはあなたがそれをやっているぶら下がっている果物でない場合は動作します。 – alex

0

ニュースレターなどにサインアップしている場合は、複数回メールを送信する場合は、確認メールを送信して実際のメールであることを確認する必要があります。数日後に確認できない場合は、削除することができます。彼らが確認したら、それは本当の人であることを知っています。最初にメールを送信したときにバウンスバックを取得しますが、バウンスバックが再発することはありません。

私もCAPTCHAが好きです。または、あなたのウェブサイトのタイトルの最初の文字(またはページに常に同じままである他の単語)を入力するようもっと簡単にしたい場合は、ほとんどの場合有効です。

0

短い答え:

CAPTCHAを使用してください。

長い答え:

さて、あなたはアドレスが有効であるかどうかを確認するために、メール・サーバーに照会し、その後、あなたは自分の与えられたドメインの電子メールを配信するためのサーバが責任を見つけるMXルックアップを行うことができます。完璧な世界では、これは電子メールアドレスを検証する理想的な方法です。

残念ながら、スパム対策として、最近のほとんどのメールサーバーは、すべてのポジティブまたはすべてのネガティブのいずれかのクエリに応答します。

これは本当に1つの実用的な解決策を残しています:キャプチャ。

関連する問題