0

ドメインを含め、有効な電子メールを持っているかどうかを確認する方法を知りたいです。

例えば、

次のような電子メール:

email1@gmail.comemail2@hotmail.comtrueを返す必要があります。

しかし、次のような電子メール:

email3@gmal.comemail4@hotmai.comfalse を返す必要があります。

どうすればこれを行うことができますか?

メールが有効かどうかは で確認filter_var($email, FILTER_VALIDATE_EMAIL)できますが、メールを送信できることを保証するものではありません (email3@gmal.com はその例です)。有効なドメインがあることをどのように保証できますか?

4

3 に答える 3

3

受け入れ可能なドメインのホワイトリストを作成することはできますが、それでは多くの有効なサービスが除外されることは間違いありません

MX 発掘を行った後、適切なポートでドメインへの接続を試みることもできますが、メンテナンスのためにサービスが 1 時間ダウンした場合はどうなるでしょうか。

電子メールが有効かどうかを判断する最善の方法、確認コードを送信し、電子メールの受信後にユーザーにコードをクリック/入力してもらうことです。

于 2013-06-10T18:15:09.963 に答える
0

考えられる解決策の 1 つは、ドメインへの接続を試行し、成功するかどうかを確認することです。

if(fopen("http://$domain"))
{
    echo "success, valid domain";
} else {
    echo "failure, not valid domain";
}

電子メール アドレスの記号$domainに続く部分はどこにありますか。@(これは正規表現を使用して取得できます)。

于 2013-06-10T18:06:49.230 に答える