PHPmailer отправляет HTML-код
Я использую PHPmailer для отправки электронной почты.
Я также использовал HTML = True тип контента
$mail = new PHPMailer();
$mail->IsSMTP(); // send via SMTP
$mail->Host = $Host;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = $Username;
$mail->Password = $Password;
$mail->From = $From;
$mail->FromName = $FromName;
$mail->AddAddress($To , $ToName);
$mail->WordWrap = 50; // set word wrap
$mail->Priority = 1;
$mail->IsHTML(true);
$mail->Subject = $Subject;
$mail->Body = $Body;
Как только письмо отправлено, я вижу фактический HTML-код вместо содержания, пожалуйста, проверьте ниже
![enter image description here]()
** Не уверен, в чем проблема **
Ответы
Ответ 1
Вызов метода isHTML()
после свойства экземпляра Body
(я имею в виду $mail->Body
) был решен для меня проблемой:
$mail->Subject = $Subject;
$mail->Body = $Body;
$mail->IsHTML(true); // <=== call IsHTML() after $mail->Body has been set.
Ответ 2
//Извините моего начинающего английского
Существует метод msgHTML(), который также вызывает вызов IsHTML().
Hrm... name IsHTML
запутан...
/**
* Create a message from an HTML string.
* Automatically makes modifications for inline images and backgrounds
* and creates a plain-text version by converting the HTML.
* Overwrites any existing values in $this->Body and $this->AltBody
* @access public
* @param string $message HTML message string
* @param string $basedir baseline directory for path
* @param bool $advanced Whether to use the advanced HTML to text converter
* @return string $message
*/
public function msgHTML($message, $basedir = '', $advanced = false)
Ответ 3
или если у вас все еще есть проблемы, вы можете использовать этот
$mail->Body = html_entity_decode($Body);
Ответ 4
В версии 5.2.7 я использую это для отправки простого текста:
$mail->set('Body', $Body);
Ответ 5
просто вам нужно передать true как аргумент функции IsHTML().
Ответ 6
сделайте так: вставьте свой HTML-код в отдельный файл html с помощью метода GET.
$mail->IsHTML(true);
$mail->WordWrap = 70;
$mail->addAttachment= $_GET['addattachment']; $mail->AltBody
=$_GET['AltBody']; $mail->Subject = $_GET['subject']; $mail->Body = $_GET['body'];
Ответ 7
все, что вам нужно сделать, это просто добавить $mail- > IsHTML (true); к коду он отлично работает.
Ответ 8
Что чуть не убило меня, я определил $mail- > AltBody. После этого все работало