【问题标题】:PHP send email from html messagePHP从html消息发送电子邮件
【发布时间】:2011-11-24 23:21:44
【问题描述】:

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

【问题讨论】:

    标签: php html email


    【解决方案1】:

    file_get_contents() 将文件的内容读入字符串。所以你可以这样做:

    $message = file_get_contents('./message_file.html');
    

    更多信息请参见http://php.net/manual/en/function.file-get-contents.php

    特别是如果文件的内容可能是用户生成的,这样做的好处是文件的任何部分都不会被解析为 PHP 并在您的服务器上执行。 (当您不是内容的来源时,在向最终用户提供 HTML 时仍然需要担心所有重要的安全问题。)

    【讨论】:

      【解决方案2】:

      您应该创建一个 body.php 文件,其中您的消息内容存储在一个变量中,例如:

      $message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nec dui vitae augue elementum facilisis sit amet in est. Vestibulum lacinia, magna a dictum pretium, mi enim pharetra ligula, at aliquet arcu leo quis libero. Ut ornare dapibus pulvinar. Cras vel nisl nibh. Quisque semper porta augue, in adipiscing elit ultricies eu. Mauris laoreet leo ut justo luctus ut ullamcorper urna feugiat. Vestibulum a massa mauris, sit amet aliquam lorem. Nullam malesuada, neque vel imperdiet aliquet, nisl neque luctus tortor, sed dapibus tellus elit non est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris vulputate convallis lorem et scelerisque.";
      

      然后include("body.php"); 位于mail() 调用上方。

      【讨论】:

        【解决方案3】:

        您可以创建一个文件 body.php 并让它包含如下内容:

        $message = 'formatted, escaped and ready message goes here';
        

        并包括那个。

        【讨论】:

        • 谢谢,但我会使用 Trott 的方法 :)
        猜你喜欢
        • 2011-03-04
        • 1970-01-01
        • 2015-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-21
        • 1970-01-01
        相关资源
        最近更新 更多