我正在尝试使用PHP发送电子邮件。该电子邮件是一封包含数百行HTML代码的HTML电子邮件(文件 email.html )。我不想在PHP中编写整个HTML代码。我该怎么做?我的下方方法是否正确?有更好的选择吗?
我的代码(PHP):
$email_text = file_get_contents('email.html');
$headers = "From:def@gmail.com";
mail('abc@gmail.com', 'Hello', $email_text, $headers);
我的电子邮件文件(email.html):
<html>
<body>
<a href="http://google.com">Hello</a>
</body>
</html>
我的问题:我想发送一封显示HTML内容的HTML电子邮件。 HTML内容取自名为email.html的文件。
注1:为了清晰起见,我简化了上面的代码。原始代码具有正确显示HTML代码的标题。原始的HTML文件也有数百种线条和CSS样式。我只提到了几行简化。
注2: 使用PHP发送电子邮件有很多重复但我找不到如何在一行PHP代码中包含一个大的HTML文件。
答案 0 :(得分:4)
更新更新的问题:
如果您不想在PHP代码中包含所有HTML,那么是file_get_contents()
是一个很好的选择。
您需要在标头中包含内容类型和MIME版本。这也是字符集UTF-8。
$headers = "From: $from <$from_email>\r\n".
"MIME-Version: 1.0" . "\r\n" .
"Content-type: text/html; charset=UTF-8" . "\r\n";