メールを送信せずにメール アドレスを検証する
スパム フィルタリングとメール リストの検証の出現により、開発者は多くの場合、メール アドレスを検証する方法を必要とします。メールを送信せずに。 PHP は、SMTP を使用したソリューションを提供します。
SMTP 検証
電子メールの送信には SMTP (Simple Mail Transfer Protocol) が使用されます。 PHP の SMTP サポートにより、次の 2 つの方法で電子メール検証が可能になります。
1. VRFY コマンド:
VRFY コマンドは、サーバーにクエリを実行して、電子メール受信者が存在するかどうかを確認します。サーバーが 2.0.0 DSN (配信ステータス通知) で応答した場合、電子メール アドレスは有効です。
例:
$socket = fsockopen('server', 25); fwrite($socket, "VRFY user\r\n"); $response = fgets($socket);
2. RCPT TO コマンド:
RCPT TO コマンドは電子メールの送信を試行します。受信者が存在しない場合、サーバーは 5.1.1 DSN で応答します。
例:
$socket = fsockopen('server', 25); fwrite($socket, "MAIL FROM:<sender>\r\n"); fwrite($socket, "RCPT TO:<user@domain>\r\n"); $response = fgets($socket);
制限事項
代替アプローチ
SMTP 検証の制限にもかかわらず、より多くの信頼できる方法は、正規表現を使用して無効なアドレスを除外し、検証リンクを含む電子メールを送信することです。これにより、ユーザーの電子メール アドレスが確認され、タイプミスが防止されます。
以上が電子メールを送信せずに PHP で電子メール アドレスを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。