Pregunta

Tengo un problema al enviar mensajes de correo electrónico de texto sin formato que utilizan PHPMailer.

Tengo texto que he leído de un archivo de texto y enviarlo por correo a destinatario de correo a través de PHPMailer

Cuando el destinatario recibe el correo electrónico real, el formato del correo electrónico no es como en el archivo de texto, todo está en una línea, no hay nuevas líneas y las pestañas están incluidas en el correo electrónico que envío. ajuste de texto es totalmente apagado.

Código:

        $mail->ContentType = 'text/plain'; 
        $mail->IsHTML(false);
        $address = "test@test.com";
        $mail->AddAddress($address, "John Doe");

        $mail->SetFrom(EMAIL_TEST_FROM);

        $mail->AddReplyTo(EMAIL_TEST_REPLY);



        $mail->Subject = $action." REGISTRATION ".$formName.$tld;
        $mail->From = EMAIL_TEST;  

        $mail->MsgHTML(file_get_contents($newFile));


        if($mail->Send()){
            return true;
        }
¿Fue útil?

Solución

Esta poniendo $mail->MsgHTML() a un mensaje de texto sin formato, y desde el formato de espacio en blanco es ignorado en HTML, que está recibiendo un texto en línea.

No he utilizado PHPMailer por un tiempo, pero a partir de intento de memoria:

$mail->Body = file_get_contents($newFile); 

Otros consejos

    $mail->ContentType = 'text/plain'; 
    $mail->IsHTML(false);
    $address = "test@test.com";
    $mail->AddAddress($address, "John Doe");

    $mail->SetFrom(EMAIL_TEST_FROM);

    $mail->AddReplyTo(EMAIL_TEST_REPLY);



    $mail->Subject = $action." REGISTRATION ".$formName.$tld;
    $mail->From = EMAIL_TEST;  

    // Very important: don't have lines for MsgHTML and AltBody 
    $mail->Body = file_get_contents($mailBodyTextFile);  
    // $mail->Body = $_POST["msg"];  //If using web mail form, use this line instead.


    if($mail->Send()){
        return true;
    }

Trate a continuación código que funciona bien:

        try {
            $mail->AddAddress('jitpal@domain.com', 'Jit Pal');
            $mail->SetFrom('testuser@domain.com', 'Test User');
            $mail->Subject = "All machine's tests.";
            $mail->Body = "All machine's tests working fine.";
            $mail->Send();
            echo "<br/>Message sent successfully...<br/><br/>\n";
        } catch (phpmailerException $e) {
            echo $e->errorMessage();
        } catch (Exception $e) {
            echo $e->getMessage();
        }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top