Zend_Mail 发送的电子邮件被视为垃圾邮件
请告诉我我做错了什么.我正在使用 Zend_Mail 类发送电子邮件,如下所示:
Please tell me what I am doing wrong. I am sending an email using the Zend_Mail class like this:
$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,它们发送的电子邮件不会被视为垃圾邮件.
It is received as a spam though. There are other applications such as Webmin on my server and emails they send is not treated as SPAM.
推荐答案
我通过添加这些行解决了这个问题:
I have solved this by adding these lines:
$mail->setReplyTo('contact@company.com', 'Company');
$mail->addHeader('MIME-Version', '1.0');
$mail->addHeader('Content-Transfer-Encoding', '8bit');
$mail->addHeader('X-Mailer:', 'PHP/'.phpversion());
关键行似乎添加了 Reply-To 标题.没有它,它总是会进入垃圾邮件.一旦我设置了 Reply-To 标头,电子邮件客户端就停止将其视为垃圾邮件.
The critical line seems to be adding Reply-To header. Without that it would always go to SPAM. Once I set the Reply-To header email clients stopped treating it as spam.
相关文章