2010-09-11 4 views
6

Пожалуйста, скажите мне, что я делаю неправильно. Я посылаю по электронной почте, используя класс 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('[email protected]', 'Company.com'); 
$mail->addTo('[email protected]', 'Client Name'); 
$mail->setSubject('You have a new invoice!'); 
$mail->send(); 

Это воспринимается как спам, хотя. Существуют и другие приложения, такие как Webmin на моем сервере, и отправленные ими электронные письма не рассматриваются как СПАМ.

+1

Возможный дубликат [PHP: как избежать сгенерированного сообщения электронной почты в спаме?] (Http://stackoverflow.com/questions/2800898/phphow-to-avoid-a-system-generated-email-going- в-спам) –

+0

См. также связанные вопросы в этом дубликате –

+0

Добавление ответа на заголовок решило проблему. –

ответ

9

Я решил эту проблему, добавив следующие строки:

$mail->setReplyTo('[email protected]', 'Company'); 
$mail->addHeader('MIME-Version', '1.0'); 
$mail->addHeader('Content-Transfer-Encoding', '8bit'); 
$mail->addHeader('X-Mailer:', 'PHP/'.phpversion()); 

Критическая линия, кажется, добавляя Reply-To заголовка. Без этого он всегда будет идти в СПАМ. После того, как я установил почтовый клиент «Ответ-на», он переставал рассматривать его как спам.

+0

Что теперь задает заголовок 'from'? –

+0

[email protected], ответьте на [email protected] –

+0

не стесняйтесь принимать свой собственный ответ как правильный! – chelmertz