簡體   English   中英

php mail()不適用於gmail和hotmail

[英]php mail() doesnt work for gmail and hotmail

我正在嘗試使用php中的mail()發送新的系統生成的密碼。 問題是我能夠將其發送到yahoo,但是當我使用gmail或hotmail時,盡管該函數返回true,但我沒有收到任何電子郵件。 以下是功能:

if(mail($to,$subject,$body))
{
   return true;
}
else
{
  return false;
}

它可能最終出現在垃圾郵件文件夾中。 如果有,請確保您的電子郵件標題是完美的。

您可以調查想要實現的目標。 Zend_Mail具有連接gmail和其他人所需的一切。

如果您通過yahoo成功獲取郵件,則還應該在問題中張貼來自yahoo的郵件頭。 我敢打賭,您還需要添加“發件人字段”,才能通過hotmail,gmail等獲得通過。

您的問題可能是反垃圾郵件過濾器。 從PHP發送的電子郵件通常被郵件服務器標記為垃圾郵件,最終被刪除或放入垃圾箱。

您可以通過Google查找“ php郵件垃圾郵件”,以獲取有關如何解決此問題的一些提示。

也許您在共享服務器上,並且該IP被服務器的其他用戶(網站)發送垃圾郵件而被禁止/阻止。

嘗試添加SPF記錄。

確保將信封FROM(又名返回路徑)設置為您有權訪問的有效電子郵件地址。 如果您在垃圾郵件文件夾中沒有看到該郵件,則該郵件應該被退回; 退回郵件可能提供有關郵件未通過的線索。

我會嘗試在您的郵件功能中包含您自己的標頭

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "Date: ". date('r'). " \r\n";
$headers .= "Return-Path:youremail@domain.com\r\n";
$headers .= "Errors-To:youremail@domain.com\r\n";
$headers .= "From:youremail@domain.com <youremail@domain.com>\r\n";
$headers .= "Reply-to:youremail@domain.com \r\n";
$headers .= "Organization: YourOrg \r\n";
$headers .= "X-Sender:youremail@domain.com \r\n";
$headers .= "X-Priority: 3 \r\n";
$headers .= "X-MSMail-Priority: Normal \r\n";
$headers .= "X-Mailer: PHP/" . phpversion();

mail($to,$subject,$body,$headers);

嘗試檢查您的郵件服務器ip是否被列入黑名單?

如果不是,請嘗試與郵件一起發送的標頭。

暫無
暫無

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

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