メールを送信せずにメールアドレスが存在するかどうかを確認するにはどうすればいいですか? 質問する

メールを送信せずにメールアドレスが存在するかどうかを確認するにはどうすればいいですか? 質問する

私はこれに遭遇しましたメールを送信せずに SMTP を使用して電子メール アドレスを確認する PHP コード

同様のことを試した人はいますか、それともうまくいきましたか? 顧客/ユーザーが入力したメールが正しく、存在するかどうかわかりますか?

ベストアンサー1

2つの方法があります時々受信者が実際に存在するかどうかを判断するために使用します。

  1. サーバーに接続してVRFYコマンドを発行できます。このコマンドをサポートするサーバーはほとんどありませんが、これはまさにこの目的のためです。サーバーが 2.0.0 DSN で応答した場合、ユーザーは存在します。

    VRFY user
    
  2. を発行してRCPT、メールが拒否されるかどうかを確認できます。

    MAIL FROM:<>
    RCPT TO:<user@domain>
    

ユーザーが存在しない場合は、5.1.1 DSN が返されます。ただし、電子メールが拒否されないからといって、ユーザーが存在するとは限りません。サーバーによっては、ユーザーの列挙を防ぐために、このようなリクエストを黙って破棄するものもあります。他のサーバーはユーザーを確認できず、メッセージを受け入れざるを得ません。

また、グレーリストと呼ばれるスパム対策技術もあります。これは、実際の SMTP サーバーがしばらくしてから再配信を試行すると予想して、サーバーが最初にアドレスを拒否する原因となります。これにより、アドレスの検証の試行が台無しになります。

正直に言うと、アドレスを検証しようとしている場合、最も良い方法は、単純な正規表現を使用して明らかに無効なアドレスをブロックし、メールが受信されたことを確認するためのリンクをシステムに返送する実際のメールを送信することです。これにより、ユーザーが実際のメール アドレスを入力したことが保証され、偶然他人のものであるというわずかなタイプミスは入力されません。

おすすめ記事