2013-04-22 204 views
2

我面臨一個奇怪的問題,在我的PHP腳本。我做了一個函數發送電子郵件,並在我的PHP頁面調用函數。功能工作正常,當我發送郵件到雅虎或任何其他域名,但失敗,當談到將郵件發送到Gmail的account.below是我的代碼PHP郵件功能不發送電子郵件到Gmail帳戶

function send_mail($p_to , $p_sub, $p_body) 

{ 

$from = '[email protected]'; 
$to = $p_to; 
$email_subject = $p_sub; 
$email_body = $p_body; 

$xheaders = ""; 
$xheaders .= "From: <$from>\n"; 
$xheaders .= "X-Sender: <$from>\n"; 
$xheaders .= "X-Mailer: PHP\n"; // mailer 
$xheaders .= "X-Priority: 1\n"; //1 Urgent Message, 3 Normal 
$xheaders .= "Content-Type:text/html; charset=\"iso-8859-1\"\n"; 

mail($to,$email_subject,$email_body,$xheaders); 

} 

// 當我直接將郵件發送到Gmail帳戶例如,如果通過爲所有字段($ p_to,$ p_subject,$ p_body)提供硬編碼值並使用上述代碼創建新頁面併發送郵件,那麼它就可以工作。

它工作得很好,併發送郵件到gmail帳戶,但不知何故停止工作的gmail.i檢查垃圾桶也沒有發現。 任何想法frnds?

+0

這可能是[灰名單(http://support.google.com/mail/answer/180063?hl=en)。對於未經驗證的網域,Gmail有時會拒絕傳入的電子郵件,以查看域名是否會嘗試重新發送。 – George 2013-04-22 17:52:54

+0

但我能夠使用硬編碼值發送郵件。我如何檢查看到它的灰色列出或不? – user2015610 2013-04-22 17:56:39

+0

看來你的變量的實際值有問題嗎? ($ p_to,$ p_sub和$ p_body)? – bestprogrammerintheworld 2013-04-22 17:59:29

回答

0

Google將所有未驗證的域名標記爲黑名單,因此您的電子郵件將直接移至Gmail用戶的垃圾郵件框中。我認爲你唯一能做的就是發送一封郵件給谷歌的客戶服務,並詢問他們是否可以驗證你的域名是否安全,但是隻有當你發現gmail用戶將郵件收入他們的收件箱而不是他們的收件箱垃圾郵件框。

+0

這些變量賦值,但我也檢查了垃圾郵件框,我也沒有在那裏看到郵件.. !! – user2015610 2013-04-22 18:18:54

+0

這很奇怪,也許他們完全封鎖你的域名或IP出於某種原因,也許你應該問谷歌的客戶服務的答案... – Xandervr 2013-04-22 18:20:31

+0

下面的代碼工作。我只是檢查,並在我的Gmail郵件acct <?php $ from ='[email protected]'; $ msg ='test'; $ subject ='test'; $ to ='[email protected]'; $ xheaders =「」; $ xheaders。=「來自:<$from> \ n」; $ xheaders。=「X-Sender:<$from> \ n」; $ xheaders。=「X-Mailer:PHP \ n」; // mailer $ xheaders。=「X-Priority:1 \ n」; // 1緊急消息,3正常 $ xheaders。=「Content-Type:text/html; charset = \」iso-8859-1 \「\ n」; // ....... mail($ to,$ subject,$ msg,$ xheaders); echo'sent'; ?> – user2015610 2013-04-22 18:30:14

0

問題已經解決。需要服務器端修改。

感謝您的答覆傢伙:)

+0

請分享在服務器端進行的變化..與天的問題掙扎。 。 – 2017-01-24 13:09:40

相關問題