Frage

Ich habe ein Problem beim Senden Klartext E-Mails mit PHPMailer.

Ich habe Text, den ich aus einer Textdatei lesen und senden Sie es Empfänger über PHPMailer

auf der Post

Wenn der Empfänger die eigentliche E-Mail erhält, wird die Formatierung der E-Mail nicht in der Textdatei mag, alles in einer Zeile ist, werden keine neue Linien und Registerkarten in der E-Mail enthalten, die ich sende. Textumbruch ist völlig aus.

Code:

        $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;
        }
War es hilfreich?

Lösung

Sie sind $mail->MsgHTML() auf eine Klartextnachricht setzen und da Leerzeichen Formatierung in HTML ignoriert wird, sind Sie einen Inline-Text bekommen.

Ich habe nicht PHPMailer für eine Weile, aber aus dem Gedächtnis Versuch verwendet:

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

Andere Tipps

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

Code unten Versuchen Sie, die funktioniert:

        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();
        }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top