【问题标题】:PHP Sendmail Return Path issuePHP Sendmail返回路径问题
【发布时间】:2014-10-13 14:15:41
【问题描述】:

我遇到了 zend 邮件发送功能的问题。

我有一个功能,我们设置了一些 cron 作业,这些 cron 作业处理一些 php 脚本,然后发送邮件。实际上邮件进展顺利,但有时它会被放入垃圾邮件目录。经过一番研究,我发现邮件正文的返回路径引起了问题。由于邮件发送脚本我们以 root 身份发送,所以返回路径是 root@domain.com,我想将其更改为 support@domain.com

有什么方法可以实现吗?

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

【问题讨论】:

标签: php email zend-framework cron


【解决方案1】:

这是返回路径而不是回复...没有回复路径这样的东西:)

有很多参数被标记为垃圾邮件,我不确定这仅仅是因为返回路径。您必须修复它,您可以尝试在发送时更改标头:

    $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/ 了解一些细节。

reply-to和return-path的解释见this answer

【讨论】:

  • 我已经尝试过 setReturnPath 和 addHeader。 Zend 文档本身说 setReturnPath 不起作用。更多可以在这里找到framework.zend.com/manual/1.11/en/…
  • 嗯,我明白了,您正在使用 sendmail。它适用于 Zend_Mail_Transport_Smtp。您是否按照说明尝试过new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com')
猜你喜欢
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-13
  • 1970-01-01
相关资源
最近更新 更多