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

Ric*_*nop 6 php zend-framework email-spam zend-mail

请告诉我我做错了什么.我正在使用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();
Run Code Online (Sandbox Code Playgroud)

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

Ric*_*nop 9

我通过添加以下行解决了这个问题:

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

关键线似乎是添加了Reply-To标头.没有它,它总会去垃圾邮件.设置Reply-To标题后,电子邮件客户端就会停止将其视为垃圾邮件.