2012-05-22 51 views
0

我正在開發一個簡單的電子郵件聯繫表單,當前執行沒有錯誤,並顯示我添加的成功消息。PHP電子郵件表格,執行,但只發送到'一些'電子郵件服務

不過測試之後,電子郵件只能由一個Microsoft Outlook地址我已經收到。

的Gmail,Hotmail和雅虎沒有收到該消息,這是我的Gmail瞄準了大部分。

我在每種情況下都檢查了垃圾郵件/垃圾郵件文件夾並且沒有簽名。

如果有人有任何想法,爲什麼這是這種情況,這將是偉大的。我沒有發佈代碼,因爲它至少在一個實例中工作,但如果有幫助的話,這裏是'頭部'的格式。

$headers = 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
@mail($email_to, $email_subject, $email_message, $headers); 
+0

已經對$ email_to進行了硬編碼,以便它發送到相同的地址代碼在這裏將是有用的。本週我有這個問題,我硬編碼。檢查是否通過一個數組傳遞給電子郵件ID – Rinzler

+0

是的$ email_to已被硬編碼爲每次我測試它,我的替代方案是什麼?沒有數組正在傳遞,只是'name','email address'和'comments'的值。 – William

回答

1

如果相同的代碼工作將電子郵件發送到接收方,而不是另一個,那麼問題出在收件人。

我懷疑這是因爲收件人的電子郵件提供商認爲你的郵件看起來像垃圾郵件。

我建議你擺脫Reply-to頭,並把地址在From場,一兩件事 - 基本上,你可以做,使您的電子郵件更加看起來不那麼像垃圾郵件,就更好了。

如果這不起作用,請嘗試發送一封有限的郵件,因爲您可以使用代碼 - 沒有額外的頭文件信息添加,文本中沒有鏈接 - 如果有效,緩慢開始添加內容直到您停止獲取消息。

+0

似乎是一個更現實的問題原因,我會和你一起玩,回到你身邊。 – William

+1

令人沮喪的是,作爲編碼人員所做的所有事情,使得您發送的電子郵件有用且內容豐富,也被垃圾郵件發送者用來使其電子郵件更具欺騙性。 – andrewsi

+0

完全刪除標題部分後,它將不適用於任何電子郵件服務。然後,我將其添加回去,並刪除了回覆郵件行,這種情況下的電子郵件仍然被Outlook收到,但Gmail中仍然沒有。任何其他想法?感謝你目前的幫助。 – William

0

再加入其中ü要郵寄的郵件要麼是Gmail或Yahoo爲$領域EMAIL_TO其中u已經硬編碼它

,或者如果您通過您從表單dynmaically電子郵件然後設置它有

$ email_to = $ _post ['email'];

然後將其添加到您的標題,然後它應該去收件人。

0

這可能是可能的,你是從發送IP已被列入黑名單(如果你的服務器上的共享IP使用IP已派出一些不好的東西,有人)。從一個不同的IP地址,如果可能的話

試試,如果它的工作原理,那麼你知道這個問題,可以投訴到您的虛擬主機提供商。

+0

黑名單由一個電子郵件服務,而不是另一個?這是一個家庭IP,所以我很漂亮,但沒有問題。 – William

+0

是的,他們不共享黑名單。您是否使用像AOL這樣的服務在他們的用戶之間共享IP地址?另外,你是從你的本地主機發送這個?如果是這樣,請在網絡服務器上嘗試。 –