Zend_Mail 发送的电子邮件被视为垃圾邮件

Posted

技术标签:

【中文标题】Zend_Mail 发送的电子邮件被视为垃圾邮件【英文标题】:Zend_Mail sent email is treated as SPAM 【发布时间】:2011-04-11 03:55:18 【问题描述】:

请告诉我我做错了什么。我正在使用 Zend_Mail 类发送电子邮件,如下所示:

$message = <<<STR
You have a new invoice!

Sign in to your clientarea to see it.

Best regards,

Company name
STR;

$mail = new Zend_Mail();
$mail->setBodyText($message);
$mail->setFrom('billing@company.com', 'Company.com');
$mail->addTo('client@email.com', 'Client Name');
$mail->setSubject('You have a new invoice!');
$mail->send();

虽然它是作为垃圾邮件接收的。我的服务器上还有其他应用程序,例如 Webmin,它们发送的电子邮件不会被视为垃圾邮件。

【问题讨论】:

php:How to avoid a system generated email going into spam? 的可能重复项 另请参阅该副本中的链接问题 添加回复标题解决了这个问题。 【参考方案1】:

我已经通过添加这些行来解决这个问题:

$mail->setReplyTo('contact@company.com', 'Company');
$mail->addHeader('MIME-Version', '1.0');
$mail->addHeader('Content-Transfer-Encoding', '8bit');
$mail->addHeader('X-Mailer:', 'PHP/'.phpversion());

关键行似乎正在添加回复标题。没有它,它总是会变成垃圾邮件。一旦我设置了回复标题,电子邮件客户端就不再将其视为垃圾邮件。

【讨论】:

from 标头现在设置为什么? billing@company.com,回复是contact@company.com。

以上是关于Zend_Mail 发送的电子邮件被视为垃圾邮件的主要内容,如果未能解决你的问题,请参考以下文章

zend_mail 电子邮件在第 4 次尝试中被标记为垃圾邮件

使用php邮件功能防止发送的电子邮件被视为垃圾邮件

如何避免电子邮件标题收到:来自未知和电子邮件进入垃圾邮件

Zend_Mail 和 Mailtrap:错误的发件人地址

使用 Zend_Mail 时如何验证邮件是不是已发送?

如何使用 Zend_Mail、sendmail 和 localhost 发送电子邮件?