ホームページ > バックエンド開発 > PHPチュートリアル > 電子メールを送信せずに PHP で電子メール アドレスを確認するにはどうすればよいですか?

電子メールを送信せずに PHP で電子メール アドレスを確認するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-16 00:00:34
オリジナル
310 人が閲覧しました

How Can I Verify Email Addresses in PHP Without Sending Emails?

メールを送信せずにメール アドレスを検証する

スパム フィルタリングとメール リストの検証の出現により、開発者は多くの場合、メール アドレスを検証する方法を必要とします。メールを送信せずに。 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 サーバーが VRFY コマンドをサポートしているわけではありません。
  • 一部のサーバーはサイレントに破棄する場合がありますRCPT TO リクエスト。
  • グレーリスト技術は電子メール検証を妨げる可能性があります。

代替アプローチ

SMTP 検証の制限にもかかわらず、より多くの信頼できる方法は、正規表現を使用して無効なアドレスを除外し、検証リンクを含む電子メールを送信することです。これにより、ユーザーの電子メール アドレスが確認され、タイプミスが防止されます。

以上が電子メールを送信せずに PHP で電子メール アドレスを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート