20

PHPMailer を使用してプレーン テキスト メールを送信する際に問題があります。

テキストファイルから読み取ったテキストがあり、PHPMailer を介してメール受信者にメールで送信します

受信者が実際のメールを受け取ると、メールの書式はテキスト ファイルとは異なり、すべてが 1 行にまとめられており、送信するメールには改行やタブが含まれていません。テキストの折り返しは完全にオフです。

コード:

        $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;
        }
4

3 に答える 3

25

プレーン テキスト メッセージに設定$mail->MsgHTML()していますが、HTML では空白の書式設定が無視されるため、インライン テキストが表示されます。

私はしばらくPHPMailerを使用していませんが、記憶から試してみてください:

$mail->Body = file_get_contents($newFile); 
于 2009-07-14T07:51:17.143 に答える
13
    $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;
    }
于 2013-01-24T16:34:53.437 に答える