0

奇妙な理由で、ユーザーが自分自身に電子メールを送信しようとすると、成功関数は実行されますが、ユーザーは電子メールを受信しません。$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 . '"}';
}
4

2 に答える 2

1

関数のヘッダーを除外してmail()試してください。ヘッダーはGMailのフィルタリングシステムをトリガーしています。Gmailからメールを送信する場合、送信者のIDを確認する特定のドメインキーベースの認証があります。

次のテキストを含むTXTDNSレコードを作成する必要がある場合があります。

v=spf1 include:_spf.google.com ~all

DNSサーバーで、ドメインがメールを送信することを承認します。

于 2012-06-25T02:23:29.860 に答える
0

Gmail と Hotmail のフィルタリング システムにより、自分自身を受信者として使用すると、Gmail と Hotmail 内のスパムに直接入っていました。Gmail では、2 つの値が異なる場合、受信トレイに送られますが、hotmail では引き続きスパムとしてカウントされます。

于 2012-06-28T21:27:38.150 に答える