Sending Plain text emails using PHPMailer

Elitmiar picture Elitmiar · Jul 14, 2009 · Viewed 37.9k times · Source

I have a problem sending plain text emails using PHPMailer.

I have text that I read from a text file and mail it to mail recipient via PHPMailer

When the recipient gets the actual email, the formatting of the mail is not like in the text file, everything is in one line, no new lines and tabs are included in the email that I send. Text wrapping is totally off.

Code:

        $mail->ContentType = 'text/plain'; 
        $mail->IsHTML(false);
        $address = "[email protected]";
        $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;
        }

Answer

bumperbox picture bumperbox · Jul 14, 2009

You are setting $mail->MsgHTML() to a plain text message, and since whitespace formatting is ignored in HTML, you're getting an inline text.

I haven't used PHPMailer for a while, but from memory try:

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