Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPMail未将邮件格式化为html_Php_Html_Email_Outlook_Phpmailer - Fatal编程技术网

PHPMail未将邮件格式化为html

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;

有人能告诉我为什么当我试图从php脚本发送html邮件时。我的outlook接收它的方式与我在db中看到它的方式相同

目前,我的工具发送了一封带有$body var的电子邮件,作为亲爱的客户,

请查看附件中的您的账户对账单。

问候您

使用代码:

$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的值可能会隐藏额外的编码-从命令行查看它。