PHPmailer发送HTML代码
我正在使用PHPmailer发送电子邮件 我还使用了HTML=True内容类型PHPmailer发送HTML代码,php,Php,我正在使用PHPmailer发送电子邮件 我还使用了HTML=True内容类型 $mail = new PHPMailer(); $mail->IsSMTP(); // send via SMTP $mail->Host = $Host; $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = $Use
$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代码,而不是内容,请检查下面
**不确定问题是什么**在设置实例Body
属性(我的意思是$mail->Body
)后调用isHTML()
方法为我解决了问题:
$mail->Subject = $Subject;
$mail->Body = $Body;
$mail->IsHTML(true); // <=== call IsHTML() after $mail->Body has been set.
$mail->Subject=$Subject;
$mail->Body=$Body;
$mail->IsHTML(正确);//尸体已经固定。
只需将true作为参数传递给IsHTML()函数。或者,如果仍然存在问题,可以使用此函数
$mail->Body = html_entity_decode($Body);
有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)
这样做可以使用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'];
您只需添加$mail->IsHTML(true);对于代码,它工作正常。在5.2.7版中,我使用此命令发送纯文本:
$mail->set('Body', $Body);
你能显示你用来填充正文的代码吗?你在做
$mail->body($your_html\u html)
?@MarcB是的,我在用$mail->body=$body;哦!正确的。。。Body是一个属性,而不是一个方法。在任何情况下,下面是关于如何发送html邮件的“官方”教程:@MarcB不确定您想说什么我应该在上面的代码中更改什么?这是正确的,但您永远不应该调用$mail->ClearCustomHeaders()代码>在$mail->IsHTML(true)
之后ClearCustomHeader
摆脱您的电子邮件HTML格式,收件人将收到HTML源代码。我个人使用:$mail->msgHTML($email\u body);