2013-04-22 173 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

相关问题