簡體   English   中英

郵件,無法發送到同一封電子郵件

[英]Mail, can't send to same email

由於某些奇怪的原因,如果用戶嘗試向自己發送電子郵件,則運行成功功能,但用戶永遠不會收到電子郵件。 如果$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 . '"}';
}

排除mail()函數中的標頭並嘗試。 標頭觸發了GMail的過濾系統。 如果郵件是從Gmail發送的,則存在某種基於域密鑰的身份驗證,用於驗證發件人的身份。

您可能需要創建一個包含以下文本的TXT DNS記錄:

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

在您的DNS服務器中,授權您的域發送電子郵件。

由於使用Gmail和Hotmail進行過濾的系統,將您自己用作接收者時,其直接進入Gmail和Hotmail中的垃圾郵件。 對於Gmail,如果兩個值不同,它將進入您的收件箱,而hotmail仍將其視為垃圾郵件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM