2012-02-10 12 views
5
$headers = "\r\n" . "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 

$message = Swift_Message::newInstance() 
       ->setSubject($subject) 
       ->setFrom(array('[email protected]' => 'From Address')) 
       ->setTo(array('[email protected]' => 'To Address')) 
       ->setBody($message_plain_txt) 
       ->addPart($message, 'text/html') 
     ; 
if ($file_name) 
     { 
      $message->attach(Swift_Attachment::fromPath($file_path)); 
     } 

$result = $mailer->send($message); 

En este caso $ ruta de archivo es el camino tmp el que estoy usando cuando un usuario se conecta a los archivos de una forma y $ nombre_archivo es el nombre del archivo tmp $ _FILES [ 'archivo'] [ 'nombre'].electrónicos SwiftMailer entran en la carpeta de spam

En esta configuración, puedo enviar correos pero cuando hay un archivo adjunto, el correo va a la carpeta SPAM. Si no hay archivos adjuntos, el correo entra en la bandeja de entrada.

Esta configuración funciona perfectamente bien cuando estoy cargando un archivo desde una ubicación y no enviando el archivo adjunto desde un formulario.

Creo que tiene algo que ver con los encabezados del correo electrónico, pero no puedo descifrar el error.

¿Puede alguien ayudarme con qué error estoy haciendo aquí?

tengo trabajo por las cabeceras de modificación a

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type: text/plain; charset=iso-8859-1\n"; 

Respuesta

6

Añadir las siguientes cabeceras para evitar ir a la carpeta de correo no deseado:

$headers .= "Message-ID: <".time()." [email protected]".$_SERVER['SERVER_NAME'].">\r\n"; 
$headers .= "X-Mailer: PHP v".phpversion()."\r\n";   
+0

gracias por su ayuda ... incluso al agregar el código anterior, los correos electrónicos se envían a correo basura. – user434509

+0

No estoy seguro de cuál es el problema entonces, esto funcionó para mí, podría depender del filtro de spam del servidor ... es difícil decir cuál es el problema. –

+1

Lo he conseguido modificando los encabezados – user434509

3

En las versiones de SwiftMailer en 2015, se utiliza una función de getHeaders() método para establecer encabezados.

$headers =& $message->getHeaders(); 
$headers->addIdHeader('Message-ID', "[email protected]"); 
$headers->addTextHeader('MIME-Version', '1.0'); 
$headers->addTextHeader('X-Mailer', 'PHP v' . phpversion()); 
$headers->addParameterizedHeader('Content-type', 'text/html', ['charset' => 'utf-8']); 
+1

Desde [doc] (http://swiftmailer.org/docs/headers.html#adding-new-headers), no necesita devolver por ref ('= &'). – IROEGBU

Cuestiones relacionadas