我创建了一个简单的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);
?>
Run Code Online (Sandbox Code Playgroud)
file_get_contents()将文件的内容读入字符串.所以你可以这样做:
$message = file_get_contents('./message_file.html');
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参见http://php.net/manual/en/function.file-get-contents.php.
特别是如果文件的内容可能是用户生成的,那么这样做的好处是,文件的任何部分都不会被解析为PHP并在服务器上执行.(当您不是内容的来源时,在向最终用户提供HTML时,仍然需要担心所有重要的安全问题.)