Senden Plain Text E-Mails mit PHPMailer
-
13-09-2019 - |
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 PostWenn 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;
}
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