PHP发送邮件使用HTML不工作(PHP Send Mail with HTML not worki

2019-10-18 15:10发布

我送一个PHP的HTML邮件使用此代码:

$msg = "<p>Beste,</p> <p>Sorry, maar momenteel zijn deze CD uitverkocht. Daarom is uw order met ordernummer 15 opgesplits. Uw eerste order ( 15 ) wordt volgens planning geleverd.</p> <p>Het order nummer voor uw overige producten die niet geleverd kunnen worden is: 16. Deze hopen we zo spoedig mogelijk te leveren.</p> <p>&nbsp;</p> <p>Sorry voor het ongemak.</p> <p>Met Vriendelijke Groet,<br /> Wij</p> ";

$message  = '<html dir="ltr" lang="en">' . PHP_EOL;
$message .= '<head>' . PHP_EOL;
$message .= '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">' . PHP_EOL;
$message .= '<title>Er zijn wijzigingen aangebracht aan uw order</title>' . PHP_EOL;
$message .= '</head>' . PHP_EOL;
$message .= '<body style="padding:0;margin:0;">' . $msg . '</body>' . PHP_EOL;
$message .= '</html>' . PHP_EOL;

$message = str_replace(array(chr(3)), '', $message);

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$headers .= 'From: ons <email@emailing.com>' . "\r\n";

mail($email, 'Er zijn wijzigingen aangebracht aan uw order', $message, $headers);

但问题是,我收到的电子邮件以纯文本(我可以看到HTML标记)。 那么,什么是问题呢? 据我知道的是正确设置的头。

Answer 1:

那么,答案很简单。

我看着Gmail的源之后,我可以看到所有这些事情: &lt;p&gt;

问题是,该文本是从一个所见即所得的编辑器正在添加,因此所有该实体在那里编码。

所以之后添加这一行,一切都工作得很好:

$message = html_entity_decode($message);

我希望我能帮助别人用这种自我答案。



文章来源: PHP Send Mail with HTML not working