2013-06-03 246 views
2

我使用phpMailer,但我遇到了一個問題:當收件人是Gmail或雅虎時,我的電子郵件最終位於垃圾郵件文件夾中。這怎麼可能? 的代碼是這樣的:phpMailer Gmail垃圾郵件

 $mail->AddCustomHeader('Reply-to:[email protected]'); 
     $mail->From="[email protected]"; 
     $mail->FromName="MY NAME"; 

     $mail->IsSendmail(); 

     $mail->AddReplyTo("[email protected]"); 

     $mail->From  = '[email protected]'; 
     $mail->FromName = 'My name'; 
     $mail->AddAddress($to, $toName); 
     $mail->Subject = $subject; 
     $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; 
     $mail->WordWrap = 80; // set word wrap 
     $body->'Hello'; 
     $mail->MsgHTML($body); 
     $mail->IsHTML(true); // send as HTML 

回答

5

這是一個複雜的問題。有很多事情可能出錯,但這裏是你應該考慮幾件事情:

  1. 你來自哪裏的問題發送電子郵件。不要指望能夠在家庭ADSL線路上運行良好的結果,因爲大多數郵件服務器都會查看郵件是否來自爲該類用途指定的網絡塊。大多數來自這些源的郵件都是垃圾郵件。用http://www.anti-abuse.org/multi-rbl-check/http://spameatingmonkey.com/lookup等工具查找您的IP。

  2. 表現自己。作爲郵件發送者建立良好的聲譽需要一段時間,如果你行爲不端,你會失去它。如果您的服務器被黑客入侵併用於發送垃圾郵件,那也無濟於事。

  3. 簽名您的電子郵件。這是一個很大的話題,但你需要的關鍵詞是SPF和DKIM。編輯:現在還DMARC。

  4. 馬克羣發電子郵件散裝(如標題「優先級:列表」)

  5. 提供退訂機制,爲您的用戶,並在「列表 - 退訂」頭做廣告。

  6. 如果可能的話,請看收件人的web界面中gmail對標記爲垃圾郵件的信息所做的說明。查看他們的「身份驗證結果」標題,檢查您的SPF和DKIM簽名是否正常。閱讀谷歌和雅虎網站上關於如何不被視爲垃圾郵件的所有建議。例如,從Gmail郵箱中的郵件的鏈接開始。

  7. 如果您不想處理所有這些問題,請考慮通過信譽良好的smtp服務器發送郵件。如果您只是發送一點電子郵件,您的託管服務提供商(或者您的isp,如果您是在家裏做的話)可能會提供合適的smtp服務器,您可以通過適當的身份驗證訪問它。您甚至可以通過gmail的服務器發送足夠小的音量(儘管它們會重寫您的發件人地址以匹配您的Gmail帳戶)。對於商業卷,您可能需要考慮使用專門從事這類事情的商業smtp服務提供商。除了幫助您掌握所有需要做的事情以獲得良好的交付率之外,他們還可以幫助您瞭解有多少用戶實際上正在打開電子郵件並單擊鏈接以及清除不良內容的工具電子郵件地址從您的名單。