2013-04-08 94 views
1

我有一個我做的PHP表單,當有人填寫表單時,它可以與所有其他電子郵件帳戶(雅虎,Hotmail,@ mydomain.com等)正常工作,但是當它發送電子郵件給Gmail用戶,電子郵件永遠不會通過,即使在垃圾郵件框中。PHP Web窗體不發送到Gmail電子郵件

  $from = $email; 

      //Testing Below 
      //$headers = 'From:[email protected]' . "\r\n"; 
      $headers .= "From: $from \n"; 
      $headers .= " MIME-Version: 1.0\r\n "; 
      $headers .= " Content-Type: text/html; charset=ISO-8859-1\r\n "; 

      //Mail The Message 
      mail($to, $subject, $message, $headers); 

上面的代碼不會發送到Gmail,但會適用於所有其他電子郵件帳戶。這一個(下面)將適用於Gmail,但當然,我沒有電子郵件中的HTML選項。

  $headers = 'From:[email protected]' . "\r\n"; 
      //$headers .= "From: $from \n"; 
      //$headers .= " MIME-Version: 1.0\r\n "; 
      //$headers .= " Content-Type: text/html; charset=ISO-8859-1\r\n "; 

      //Mail The Message 
      mail($to, $subject, $message, $headers); 

因此,基本上,當我將MIME和內容類型添加到標題變量時,它不會發送到gmail帳戶。

在此先感謝!

+0

不要使用'mail',但另一個郵件來代替。 – 2013-04-08 15:26:25

+0

在php中有哪些其他郵件選項?我對PHP還是比較新的。 – 2013-04-08 17:56:57

回答

0

我已經回答了一個不久前與此相關的問題。它可能與gmail的電子郵件過濾有關,也許你得到的垃圾郵件分數太高,所以它甚至沒有進入垃圾郵件文件夾,這可能是由於沒有正確的dns配置/鍵和嘗試同時使用html導致的。

我留下一個鏈接到對方的回答(這是相當長,不容易,你會想象XD):

PHP and Gmail spam filter

希望它可以幫助你。

+0

感謝您的回覆。我會研究這個並回復你。它不應該是垃圾郵件問題,我不會因爲它是一個新的域名,而不是一個月前的圖像。這很重要嗎? – 2013-04-08 15:48:26

+0

當然,域名越新,其可信度越低,有時候過濾器會將您的電子郵件放入垃圾郵件文件夾,有時他們會拒絕。所以請特別注意反向DNS和DKIM的 – aleation 2013-04-08 16:01:54

+0

好吧,我聯繫我的託管帳戶提供商,看看他們可以想出什麼,並在與他們聊天幾個小時後,他們無法提供幫助。我想我只能從電子郵件中去掉html,直到我弄明白爲止。謝謝你的幫助! – 2013-04-08 17:56:18

0

您沒有使用正確的連接符: 更改從行:

$headers .= "From: ".$from;