33

我正在使用 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 代码,而不是内容,请检查以下内容

在此处输入图像描述

**不确定是什么问题**

4

7 回答 7

81

isHTML()在设置实例Body属性(我的意思是)之后调用该方法$mail->Body为我解决了这个问题:

$mail->Subject = $Subject;
$mail->Body    = $Body;
$mail->IsHTML(true);       // <=== call IsHTML() after $mail->Body has been set.
于 2013-04-27T20:14:11.650 回答
9

msgHTML()方法,它也调用IsHTML().

名字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)
于 2014-05-27T18:36:11.730 回答
3

或者如果你还有问题,你可以使用这个

$mail->Body =  html_entity_decode($Body);
于 2014-02-05T10:03:16.360 回答
0

在 5.2.7 版本中,我使用它来发送纯文本:

$mail->set('Body', $Body);
于 2017-05-08T22:27:11.600 回答
-2

只是您需要将 true 作为参数传递给 IsHTML() 函数。

于 2014-01-07T12:04:26.163 回答
-2

这样做 - 使用 GET 方法将您的 html 代码粘贴到单独的 html 文件中。

$mail->IsHTML(true);                                 
    $mail->WordWrap = 70;                                 
    $mail->addAttachment= $_GET['addattachment']; $mail->AltBody   
    =$_GET['AltBody'];  $mail->Subject = $_GET['subject']; $mail->Body = $_GET['body'];
于 2014-07-15T04:40:52.150 回答
-2

您只需添加 $mail->IsHTML(true); 到代码它工作正常..

于 2016-02-08T21:40:59.320 回答