PHP从html消息发送电子邮件

Cod*_*ody 1 html php email

我创建了一个简单的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)

Tro*_*ott 6

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时,仍然需要担心所有重要的安全问题.)