私はフォームを使って作業しています。ユーザーが電子メールを入力するところで、正規表現を使って電子メールを検証できます。しかし、私が必要とするのはthisです。検索後、私は解決策を見つけたhere。それは電子メールのMXレコードをチェックします。しかし、まだ私はうまくいきません。なぜなら、私が大雑把なメールを送ったとき、[email protected]
私のフォームはそれを受け入れました。そして、私は他のウェブサイトで同じメールを送ったとき、それを拒否しました。私の知らないロジックの問題かもしれませんが、私のコードでは電子メールを確認しています。PHPでメールを確認する方法
if(isset($_GET["saveData"])){
\t $_appid = $_GET["appid"];
\t $_name = $_GET["name"];
\t $_email = $_GET["email"];
\t $_pass = $_GET["pass"];
\t $_applink = $_GET["applink"];
\t function domain_exists($email, $record = 'MX'){
\t \t list($user, $domain) = explode('@', $email);
\t \t return checkdnsrr($domain, $record);
\t }
\t if(!empty($_appid) && !empty($_name) && !empty($_email) && !empty($_pass) && !empty($_applink)){
\t \t if(!domain_exists($_email) OR !filter_var($_email, FILTER_VALIDATE_EMAIL)) {
\t \t \t echo "email_prb";
\t \t } else{
\t \t \t $sl = "SELECT * FROM fb_data WHERE useremail = '$_email' OR fbappid = '$_appid' ";
\t \t \t $count = $con->query($sl);
\t \t \t if(mysqli_num_rows($count)>0){
\t \t \t \t echo "exists";
\t \t \t }else{
\t \t \t \t $in = "INSERT INTO fb_data VALUES(NULL,'$_name','$_email','$_pass','$_applink','$_appid',1,0)";
\t \t \t \t if ($con->query($in)) {
\t \t \t \t \t echo "Inserted";
\t \t \t \t }
\t \t \t }
\t \t }
\t } else{
\t echo "empty";
\t }
}
「ahhhhhhhhhhhhhhhhh @ yahoo.com」では何が間違っていますか? – zerkms
MXによる電子メールによる確認は、ドメインの電子メールをチェックします。この電子メールが存在するかどうかを確認します。 – Nadeem
MXチェックは、ドメインのMXレコードを持つ信頼できるDNSのみをチェックします。 – zerkms