PHPMail未将邮件格式化为html
有人能告诉我为什么当我试图从php脚本发送html邮件时。我的outlook接收它的方式与我在db中看到它的方式相同 目前,我的工具发送了一封带有$body var的电子邮件,作为亲爱的客户,请查看附件中的您的账户对账单。问候您 使用代码:PHPMail未将邮件格式化为html,php,html,email,outlook,phpmailer,Php,Html,Email,Outlook,Phpmailer,有人能告诉我为什么当我试图从php脚本发送html邮件时。我的outlook接收它的方式与我在db中看到它的方式相同 目前,我的工具发送了一封带有$body var的电子邮件,作为亲爱的客户,请查看附件中的您的账户对账单。问候您 使用代码: $email = new PHPMailer(); $email->From = $from_email_address; $email->FromName = $from_name;
$email = new PHPMailer();
$email->From = $from_email_address;
$email->FromName = $from_name;
$email->Subject = $subject;
$email->IsHTML(true);
$email->Body = $body;
$email->AddAddress($client_email);
$email->AddAttachment(ROOTDIR.'/reports/statement.pdf', "Statement.pdf");
echo $email->Send();
但outlook收到电子邮件时,其格式与html代码要求的格式不同。Outlook仅显示原始代码中的标记
附言:
我注意到如果我加上这一行:$body='亲爱的客户,请好好查找这封电子邮件';电子邮件以html格式生成并正确显示。但是,当它从数据库加载此值时,亲爱的客户,请查找您公司的对账单。它将代码作为文本发送。不会将其转换为html
是什么导致了这种情况?为HTML内容添加电子邮件标题
$email = new PHPMailer();
$email->headers = 'MIME-Version: 1.0' . "\r\n";
$email->headers.= 'Content-type: text/html; charset=us-ascii' . "\r\n";
$email->From = $from_email_address;
$email->FromName = $from_name;
$email->Subject = $subject;
$email->IsHTML(true);
$email->Body = $body;
$email->AddAddress($client_email);
$email->AddAttachment(ROOTDIR.'/reports/statement.pdf', "Statement.pdf");
echo $email->Send();
我希望在数据库层中应用额外的编码级别。在浏览器中查看$body的值可能会隐藏额外的编码-从命令行查看它。