我已经创建了一个简单的 php 电子邮件脚本,但问题是我不想在同一个 php 文件中包含大消息文本。我希望脚本从一个单独的 html 文件中读取消息(与显示的完全一样,带有 html 代码)。我试图用 include("body.html");
替换消息,但不幸的是打印了 html 代码而不是发送它。
这是我的脚本的一个小版本
<?php
$to .= 'email@example.com';
$subject = 'Message Subject';
$message = 'This is a very important message?';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: Person Name <pname@example.com>' . "\r\n";
mail($to, $subject, $message, $headers);
?>
最佳答案
file_get_contents()
将文件内容读入字符串。所以你可以这样做:
$message = file_get_contents('./message_file.html');
参见 http://php.net/manual/en/function.file-get-contents.php获取更多信息。
特别是如果文件的内容可能是用户生成的,这样做的好处是文件的任何部分都不可能被解析为 PHP 并在您的服务器上执行。 (当您不是内容的来源时,在向最终用户交付 HTML 时仍然需要担心所有重要的安全问题。)
关于PHP 从 html 消息发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8263400/