2010-09-11 27 views
6

Proszę powiedz mi, co robię źle. Ja wysyłając e-mail przy użyciu klasy Zend_Mail tak:Wysłana wiadomość e-mail Zend_Mail jest traktowana jako SPAM

$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(); 

Otrzymał jako spam choć. Na moim serwerze są inne aplikacje, takie jak Webmin, a wysyłane przez nich wiadomości e-mail nie są traktowane jako SPAM.

+1

możliwy duplikat [PHP: Jak uniknąć wiadomości e-mail generowanych przez system wchodzących w spam?] (Http://stackoverflow.com/questions/2800898/phphow-to-avoid-a-system-generated-email-going- do-spamu) –

+0

Zobacz także powiązane pytania w tym duplikacie –

+0

Dodanie nagłówka Reply-To rozwiązało problem. –

Odpowiedz

9

Mam rozwiązać to poprzez dodanie następującej linii:

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

krytyczna linia wydaje się być dodanie Reply-To cel. Bez tego zawsze trafiałby do SPAM. Po ustawieniu klienta poczty e-mail nagłówka Reply-To przestałem traktować go jako spam.

+0

Co to jest nagłówek 'od' ustawiony na teraz? –

+0

[email protected], odpowiedź to [email protected] –

+0

zachęcamy do przyjęcia własnej odpowiedzi jako właściwej! – chelmertz