電子メールを送信せずに電子メールの存在を確認する
電子メール アドレスの存在の確認は、電子メール マーケティング、ユーザーなどのさまざまなアプリケーションにとって重要です。サインアップとスパム防止。電子メールを送信せずにこれを実現する 1 つの手法は、SMTP コマンドを利用することです。
SMTP (Simple Mail Transfer Protocol) は、電子メールの検証に役立つ特定のコマンドをサポートしています。ただし、すべてのサーバーがこれらのコマンドをサポートしているわけではなく、結果が異なる場合があることに注意することが重要です。
方法 1: VRFY コマンド
VRFY コマンドは、次のことを確認するように設計されています。ユーザーは特定のメール サーバー上に存在します。 VRFY コマンドに続いて電子メール アドレスを発行すると、サーバーは DSN (配信ステータス通知) コードで応答します。 DSN コードが 2.0.0 の場合、ユーザーの存在を示します。
VRFY user
方法 2: RCPT コマンド
もう 1 つの方法は、RCPT コマンドを使用して、テストメールを送信します。空の送信者アドレスを指定して MAIL FROM コマンドを発行し、続いてターゲットの電子メール アドレスを指定して RCPT TO コマンドを発行すると、サーバーは DSN コードで応答します。アドレスが有効な場合、サーバーはメッセージ (コード 2.0.0) を受け入れ、無効な場合はメッセージを拒否します (コード 5.1.1)。
MAIL FROM:<empty> RCPT TO:<user@domain>
制限事項
これらのメソッドはある程度のアドレス検証を提供しますが、その限界を認識することが重要です。一部のサーバーは VRFY コマンドをサポートしていないか、セキュリティ上の理由から VRFY コマンドを無効にしている可能性があります。さらに、一部のサーバーはユーザー検証なしで電子メールを受け入れ、誤検知につながる可能性があります。
さらに、グレーリストなどのスパム対策技術は、最初に電子メールを拒否し、正規のサーバーが後で再試行することを期待するため、アドレス検証の取り組みに影響を与える可能性があります。これにより、アドレス検証の試行が中断される可能性があります。
ベスト プラクティス
メール アドレスを検証する最も信頼できる方法は、確認リンクを含むテスト メールを送信することです。これにより、入力された電子メール アドレスが有効であることが保証されるだけでなく、ユーザーがそのアドレスにアクセスできることも確認されます。さらに、正規表現を使用して明らかに無効なアドレスを最初に除外すると、検証プロセスをさらに強化できます。
以上が電子メールを送信せずに電子メール アドレスが存在するかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。