【问题标题】:Send email with HTML使用 HTML 发送电子邮件
【发布时间】:2013-09-07 01:09:27
【问题描述】:

我能够从我的服务器发送电子邮件就好了。我的问题是我的电子邮件没有呈现为 HTML。当我收到这封电子邮件时,我得到了:

<table style='text-align: center;'>
            <td><b>Park</b></td>
            <td style='padding: 0px 20px 0px 20px;'><b>Ratio</b></td>
            <td style='padding: 0px 20px 0px 20px;'><b>% Complete</b></td>
            <tr style='background-color: rgb(207, 226, 243)'>
                    <td>Arbordale Acres</td>
                    <td style='padding: 0px 20px 0px 20px;'>353 / 928</td>
                    <td style='padding: 0px 20px 0px 20px;'>38.04%</td>
            </tr>

            <tr style='background-color: rgb(208, 242, 208)'>
                    <td>Brentwood</td>
                    <td style='padding: 0px 20px 0px 20px;'>106 / 1036</td>
                    <td style='padding: 0px 20px 0px 20px;'>10.23%</td>
            </tr>

            <tr style='background-color: rgb(207, 226, 243)'>
                    <td>Carefree</td>
                    <td style='padding: 0px 20px 0px 20px;'>100 / 619</td>
                    <td style='padding: 0px 20px 0px 20px;'>16.16%</td>
            </tr>

还有更多的 html 可以通过,但您了解基本概念。我知道某些 css 不起作用,但我认为至少会有某种类型的尝试在 gmail 中呈现 HTML,而不是接收纯文本。

提前谢谢你!

【问题讨论】:

  • 您需要发布发送电子邮件的代码。
  • 您用来发送电子邮件的 php 邮件类是什么??

标签: php html css email


【解决方案1】:

在将电子邮件发送为 HTML 内容类型之前,您需要在标头中设置 MIME 类型。这告诉电子邮件客户端将电子邮件的正文解释为 HTML。

$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

mail($to, $subject, $message, $headers);

【讨论】:

    【解决方案2】:

    尝试使用这个 PHP 代码。

    <?php
        $body_mail = "<h1>Test Rendering HTML Email</h1>\r\n";
        $headers = "From: mail@yourdomain.com\r\n";
        $headers .= "Reply-to: me@yahoo.com.sg\r\n";
        $headers .= "MIME-Version: 1.0\r\n";
        $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
        $mail_sent = @mail("you@mail.com", "Title TEST", $body_mail, $headers);
     echo $mail_sent ? "Success" : " Failed!";
    ?>
    

    它将呈现您的 HTML 电子邮件。注意:

    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    

    【讨论】:

    • 附带说明,强烈建议不要在函数上使用@ 来消除错误。在调试错误时,您可能不会使用错误静默发现它。
    猜你喜欢
    • 2013-05-26
    • 2011-03-07
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多