0

我可以从我的服务器发送电子邮件就好了。我的问题是我的电子邮件没有呈现为 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,而不是接收纯文本。

先感谢您!

4

2 回答 2

1

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

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

mail($to, $subject, $message, $headers);
于 2013-09-06T17:07:09.883 回答
0

尝试使用这个 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-09-06T17:09:27.627 回答