奇妙な理由で、ユーザーが自分自身に電子メールを送信しようとすると、成功関数は実行されますが、ユーザーは電子メールを受信しません。$toAddress
とが同じである場合$fromAddress
、ユーザーは電子メールを受信しません。それらが異なる場合、ユーザーはそうします。
ここでいくつかの質問を読んで、電子メールがサーバーと同じドメインにある場合、スパムでブロックされると言っています。しかし、ユーザーの電子メールはサーバーと同じドメインにありませんか?私のGmailアカウントでこれをテストしていました。Reply-to
私が実際に使用しているメールではなく、単なるダンビーテキストです。
$to = $toAddress;
$subject = 'This is an email';
$message = $message;
$headers = 'From: '. $fromAddress . "\r\n" .
'Reply-To:do-not-reply@gmail.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-Type: text/html; charset=UTF-8';
if(mail($to, $subject, $message, $headers)){
echo '{"status": "success", "senderAddress": "' . $_SERVER['REMOTE_ADDR'] . '", "content": "' . $_POST['toAddress'] . '"}';
} else {
echo '{"status": "fail", "toAddress": ' . $toAddress . '", "fromAddress": "' . $fromAddress . '"}';
}