使用PHPMailer发送纯文本电子邮件

Rol*_*and 18 php email formatting plaintext phpmailer

我在使用PHPMailer发送纯文本电子邮件时遇到问题.

我有一个文本,我从文本文件中读取并通过PHPMailer将其邮寄给邮件收件人

当收件人获得实际的电子邮件时,邮件的格式与文本文件中的格式不同,所有内容都在一行中,我发送的电子邮件中不包含新行和标签.文字包装完全关闭.

码:

        $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;
        }
Run Code Online (Sandbox Code Playgroud)

bum*_*box 24

您正在设置$mail->MsgHTML()纯文本消息,并且由于HTML中忽略了空白格式,因此您将获得内联文本.

我有一段时间没有使用PHPMailer,但是从内存中尝试:

$mail->Body = file_get_contents($newFile); 
Run Code Online (Sandbox Code Playgroud)


eli*_*lim 12

    $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;
    }
Run Code Online (Sandbox Code Playgroud)

  • +1 用于解释要排除的行以及要包含的内容以触发纯文本。 (2认同)