使用PHP发送HTML电子邮件:包括HTML文件

Sum*_*pta 7 html php email

我正在尝试使用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);
Run Code Online (Sandbox Code Playgroud)

我的电子邮件文件(email.html):

<html>
     <body>
          <a href="http://google.com">Hello</a>
     </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的问题:我想发送一封显示HTML内容的HTML电子邮件.HTML内容取自名为email.html的文件.

注1:为了清楚起见,我简化了上面的代码.原始代码具有正确显示HTML代码的标题.原始的HTML文件也有数百种线条和CSS样式.我只提到了几行简化.

注意2:使用PHP发送电子邮件有很多重复,但我找不到如何在一行PHP代码中包含一个大的HTML文件.

Dav*_*vid 5

更新更新的问题:

如果您不想在 PHP 代码中包含所有这些 HTML,那么 yesfile_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";
Run Code Online (Sandbox Code Playgroud)

http://php.net/manual/en/function.mail.php