9

ウェブアプリにメールアドレスの検証を実装するように依頼されました-私たちは皆、1000回もそこにいたと確信しています...しかし、今回は、ドメインでMXルックアップを実行してかどうかを確認するように依頼されましたメールを受け付けます。

誰かがこれを行うことに関する潜在的な問題を知っていますか?ドメインが電子メールを受け入れるかどうかを確認するための信頼できる方法は、mxルックアップですか?有効なメールアドレスがMXルックアップチェックに失敗する可能性があるエッジケースはありますか?

アドバイスありがとうございます!

4

2 に答える 2

7

有効な電子メール アドレスが MX ルックアップ チェックに失敗するようなエッジ ケースはありますか?

はい、MX レコードがない場合、MTA は代わりに A レコードを使用するようにフォールバックします。したがって、MX レコードのみを許可すると、現実の世界で機能するメール サーバーのクラスが機能しなくなります。

MXまたはA レコードを持つ任意の名前を許可すると、少なくとも NXDOMAIN につながる明らかなタイプミスが検出されます。ただし、不法占拠者のサイトにつながるミスタイプは引き続き許可されます。A レコードによって解決されたアドレスのさらなる手順は、ポート 25 がそのアドレスで接続を受け入れている場所を確認することです。

于 2009-11-03T12:31:36.420 に答える
2

ドメインに登録されているメールサーバーがあるかどうかのみ確認できます。

サーバーがメールも受け入れ、アドレスが有効である場合(構文的にではなく、受信トレイがあるという意味で...)、登録メールなどを送信するときにのみわかります。

PHPでこれを行う方法のサンプル

function mailserver_exists($email) {
 list($user,$domain) = split('@',$email);
 //included check for 'A' after [comment from bobince][1]
 return checkdnsrr($domain,'MX') || checkdnsrr($domain,'A');
}
if(domain_exists('joe@foreigndomain.xx')) {...} else {...}

はい、あなたも使用'TinyTim@192.184.165.13'できます。checkdnsrr(host, type)州のPHPドキュメント

ホストは、点線表記のIPアドレスまたはホスト名のいずれかです。

于 2009-11-03T11:47:15.627 に答える