2010-09-11 13 views
6

Por favor dígame qué estoy haciendo mal. Estoy enviando un correo electrónico utilizando la clase Zend_Mail así:El correo electrónico enviado por Zend_Mail se trata como 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(); 

Se recibe como correo no deseado sin embargo. Hay otras aplicaciones como Webmin en mi servidor y los correos electrónicos que envían no se tratan como SPAM.

+1

posible duplicado de [PHP: ¿Cómo evitar que un correo electrónico generado por el sistema entre al spam?] (Http://stackoverflow.com/questions/2800898/phphow-to-avoid-a-system-generated-email-going- into-spam) –

+0

Consulte también las preguntas vinculadas en ese duplicado –

+0

La adición del encabezado Responder resolvió el problema. –

Respuesta

9

He resuelto esto añadiendo estas líneas:

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

La línea crítica parece ser la adición de cabecera de respuesta. Sin eso, siempre iría al SPAM. Una vez que configuré el encabezado Responder, los clientes de correo electrónico dejaron de tratarlo como correo no deseado.

+0

¿De qué se trata el encabezado 'from' ahora? –

+0

[email protected], la respuesta es [email protected] –

+0

¡no dude en aceptar su propia respuesta como la correcta! – chelmertz

Cuestiones relacionadas