isHTML已设置为True。但它在我收到的电子邮件中不起作用。我只是从教程中获取示例html。
<?php
require("phpmailertest/class.phpmailer.php");
$x=$_SESSION['items'];
$mail = new PHPMailer();
$mail->IsSMTP(); // set mailer to use SMTP
// $mail->SMTPDebug = 2;
$mail->From = "benedictpayot@gmail.com";
$mail->FromName = "BravoTech Solutions";
$mail->Host = "smtp.gmail.com"; // specif smtp server
$mail->SMTPSecure= "ssl"; // Used instead of TLS when only POP mail is selected
$mail->Port = 465; // Used instead of 587 when only POP mail is selected
$mail->SMTPAuth = true;
$mail->Username = "benedictpayot@gmail.com"; // SMTP username
$mail->Password = "Ichthys030313!"; // SMTP password
$mail->AddAddress($_SESSION['email_address']);
$mail->IsHTML(true);
$mail->Subject = "Mail Test";
$mail->Body = '<html><body>';
$mail->Body = '<table style="border-color: #eee;"';
$mail->Body = '<tr>
<td>JALOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
<td>OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
<tr>
<td>BENEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDICT
<td>PAYOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOT
</table>';
$mail->WordWrap = 50;
if(!$mail->Send()) {
echo 'Message was not sent.';
session_destroy();
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}
?>
答案 0 :(得分:1)
您可以手动将Body
(和AltBody
)设置为您喜欢的任何值。 msgHTML()
是一个便利函数,用于设置它们的moth,并可选择将html应用于文本转换以生成纯文本版本。它还设置isHTML
,重写图像URL和各种其他内容 - 但您不必使用它。
在您的代码中,您说:
$mail->Body = '<html><body>';
$mail->Body = '<table style="border-color: #eee;"';
$mail->Body = '<tr>...
应该是:
$mail->Body = '<html><body>';
$mail->Body .= '<table style="border-color: #eee;"';
$mail->Body .= '<tr>...
否则你只是每次都覆盖Body
的内容。
您应该将代码基于the gmail example bundled with PHPMailer - 看起来您正在使用其他地方的旧代码。
答案 1 :(得分:0)
我不确定(如果我错了,请纠正我),但我总是像这样设置身体:
$mail->MsgHTML($body);