Отправка обычных текстовых электронных писем с помощью PHPMailer
У меня проблема с отправкой обычных текстовых электронных писем с помощью PHPMailer.
У меня есть текст, который я прочитал из текстового файла и отправил его получателю почты через PHPMailer
Когда получатель получает фактическое электронное письмо, форматирование письма отличается от форматирования в текстовом файле, все находится в одной строке, в отправляемом мной электронном письме нет новых строк и вкладок. Перенос текста полностью отключен.
Код:
$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;
}
17
3 answers
Вы устанавливаете $mail->MsgHTML()
для обычного текстового сообщения, и поскольку форматирование пробелов в HTML игнорируется, вы получаете встроенный текст.
Я некоторое время не пользовался PHPMailer, но по памяти попробуйте:
$mail->Body = file_get_contents($newFile);
23
Author: bumperbox, 2018-01-28 19:29:48
$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;
// 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;
}
10
Author: elim, 2013-01-24 20:27:16
Попробуйте приведенный ниже код, который отлично работает:
try {
$mail->AddAddress('[email protected]', 'Jit Pal');
$mail->SetFrom('[email protected]', '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();
}
0
Author: Jitesh Sojitra, 2015-05-24 16:30:17