2014-10-09 57 views
0

我遇到了zend邮件发送功能的问题。PHP Sendmail返回路径问题

我有一个功能,我们已经设置了一些cron作业,这些cron作业处理一些php脚本,然后发送邮件。实际上,邮件正在发展,但有时它会被放入垃圾邮件目录。经过一番研究后,我发现邮件正文的返回路径导致问题。由于邮件发送脚本我们作为根,所以返回路径是[email protected],我想将其更改为[email protected]

有没有什么办法可以实现这一点。

注意:我确实尝试在标题中添加它,但它不起作用。

+0

您是否尝试https://www.sendmail.com/sm/open_source/docs/m4/features.html#genericstable或者您没有足够的权限? – Cheery 2014-10-09 06:12:49

回答

0

它的返回路径不回复到...有作为回复路径:)

有很多的参数被标记为垃圾邮件,我不知道这是因为return-没有这样的事情只有路径。你必须虽然修复它,你可以通过改变头在发送尝试:

$mail = new Zend_Mail(); 
    $mail->addTo($this->email, $this->name) 
     ->setFrom($message->from_email, $message->from_name) 
     ->setSubject($message->subject) 
     ->setBodyHtml($message->getHtmlEmailContent($subscriber)) 
     ->setBodyText($message->getTextEmailContent($subscriber)) 
     ->setReturnPath($settings->get('return_path')) 

但是SMTP服务器可能会覆盖此(Gmail中绝对不会)。只需打开电子邮件,看看你的标题是否存在,是否覆盖。

如果邮件在您的测试帐号中随机标记为垃圾邮件,您可能需要检查邮件的内容和主题。您的SMTP域的SPF记录也很重要。

请参阅https://www.campaignmonitor.com/blog/post/1971/what-are-some-good-methods-forhttp://mailchimp.com/resources/guides/how-to-avoid-spam-filters/的一些细节。

请参阅this answer以获取回复和返回路径的说明。

+0

我已经尝试了setReturnPath,并且还添加了头部。 Zend文档本身说setReturnPath不起作用。更多可以在这里找到http://framework.zend.com/manual/1.11/en/zend.mail.additional-headers.html。 – 2014-10-09 06:45:36

+0

嗯,我明白了,你正在使用sendmail。它适用于Zend_Mail_Transport_Smtp。您是否按照指示尝试了新的Zend_Mail_Transport_Sendmail(' - [email protected]')? – madpoet 2014-10-09 06:54:09