通过PHP发送HTML电子邮件的最佳方法是什么?

3
我以前从未制作过HTML电子邮件,只是使用http://www.postmarkapp.com设置了PHP邮件。我想知道如何使用PHP邮件发送HTML格式的邮件?是否有人可以提供一些PHP页面发送HTML电子邮件的预览,以便我了解其工作原理?目前,我只是将文本放入变量中并将其作为消息发送,那么如何用HTML格式呢?谢谢!
4个回答

4

您是否仍然想要使用 Postmark 发送电子邮件?

在 Postmark 中,您需要将 TextBody 属性设置为消息的文本版本,将 HtmlBody 属性设置为消息的 HTML 版本。最好始终包含两个版本。根据用户的电子邮件客户端是否支持 HTML,适当的消息表单会被渲染。在此处了解更多信息:这里

编辑:添加示例。通常我喜欢将字符串拆成单独的行,这样可以像真正的 HTML 文件一样很好地缩进它。当然,如果您使用模板,那么效果就会更好。

$htmlBody = "
<html>
    <body>
        Thank you for using our app!<br />
        - Super Awesome App Team
    </body>
</html>
";

我假设只使用HtmlBody将使Postmark发送内容作为HTML电子邮件,我会尝试一下。实际编写电子邮件的HTML时,我需要使用<html>、<body>等吗?还是只需编写HTML即可? - Latox
是的,您需要在字符串中包含标签。没有标签就没有 HTML。 :) 不过您可以跳过 <head> 标签。 - RabidFire

1
将HTML代码放入变量中,就像创建网页时一样,并将邮件头设置为text/html。
$headers.= 'MIME-Version: 1.0' . "\r\n";
$headers.= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers.= "From: eaxfd@gmail.com \r\n";
$headers.= "Reply-To: eaxfd@gmail.com \r\n";
mail($to,$subject,$message,$headers);

1

http://phpmailer.worxware.com/

这是我发现的使用PHP发送邮件的最佳课程。它允许使用替代纯文本部分进行HTML格式化,同时附带附件。当用于在线表单时,它似乎也能很好地过滤垃圾邮件。


0

在调用mail()函数时,您只需包含HTML头即可:

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

mail($to, $subject, $message, $headers);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接