【发布时间】:2014-07-01 13:18:51
【问题描述】:
我刚刚开始使用 PHPMailer,但无法正确发送和呈现 HTML 电子邮件。我可以让他们很好地发送,但是当我添加 isHTML(true) 方法时,电子邮件根本不会发送。有什么我需要在 HTML 电子邮件或布局中放入不同的内容吗?
这是 html 电子邮件:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>This is a test email</h1>
<p>Congratulations, {NAME}</p>
<p>You have won {PRIZE}</p>
<img src="{DOMAIN}assets/images/generated_barcodes/actual-000000013.png" alt="Barcode">
</body>
</html>
这是我用来发送电子邮件的一系列方法:
$this->_mail = new PHPMailer();
$this->_mail->From = FROM_EMAIL;
$this->_mail->FromName = FROM_EMAIL_NAME;
$this->_mail->addAddress($email);
$this->_mail->Subject = $subject;
$this->_mail->Body = $body;
$this->_mail->isHTML(true);
$this->_mail->send()
如果我注释掉 isHTML(true) 方法,这封电子邮件发送正常,但它显然不会呈现 HTML。
提前谢谢你!
编辑
似乎我只需要使用 $this->_mail->msgHTML($body, DOMAIN);在我的 HTML 中加载的方法。但现在我有一个新问题。电子邮件发送但不是在 AJAX 请求中。当我使用 AJAX 发布一些数据时,我需要它来发送电子邮件。
【问题讨论】:
-
Is不需要大写吗? -
“不发送”是什么意思?有什么错误吗?也尝试设置
$this->_mail->AltBody(如果我没记错的话) -
也许你必须在添加正文内容之前设置 isHtml我错了stackoverflow.com/questions/11140263/…,因为 TylerH 说它可能不起作用,因为你得到的是小写字母 i 而不是大写字母 I -
@TylerH 不是按照github上的例子,但是我试试看!
-
@TylerH 是的,你的权利,奇怪的是 github 文档如何将其写为 isHTML 而不是 IsHTML!感谢您的帮助!