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. После этого все работало