如何发送电子邮件包括使用PHP的HTML代码?

时间:2016-02-06 14:20:02

标签: php html email

如何使用php发送电子邮件包含HTML代码?

我尝试使用此代码。

<?PHP
    include("connect.php");
    $email = "test_mail@hotmail.com";    
    $to = $email;
    $subject = "test subject";
    $message = "

    <body style='margin: 0; padding: 0;'>
        <table border='1' cellpadding='0' cellspacing='0' width='100%'>
            <tr>
                <td>
                    <img src='http://i.stack.imgur.com/Jy9QUm.jpg'/>
                </td>
            </tr>
            <tr>
                <td>
                    test text
                </td>
            </tr>
        </table>
    </body>

    ";

    $headers  = 'MIME-Version: 1.0' . "\r\n"; 
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= 'From: EXAMPLE <noreply@example.com>' . "\r\n";
    $headers .= 'Return-Path: return@example.com' . "\r\n";
    mail($to, $subject, $message, $headers, '-freturn@example.com');
    ?>

当我打开我的电子邮件时,它会在我的电子邮件中显示如下。

<body style='margin: 0; padding: 0;'>
    <table border='1' cellpadding='0' cellspacing='0' width='100%'>
        <tr>
            <td>
                <img src='http://i.stack.imgur.com/Jy9QUm.jpg'/>
            </td>
        </tr>
        <tr>
            <td>
                test text
            </td>
        </tr>
    </table>
</body>

但我希望像这样展示

enter image description here

我该怎么办?

............................................... .................................................. .................................................. .....

1 个答案:

答案 0 :(得分:1)

原因是,您没有<!doctype html></html>标记(以及其他标记),并且您的HTML未呈现为正确/完整的HTML标记。

$message = "
<!doctype html>
<html>
<head>
<title></title>
</head>
  <body style='margin: 0; padding: 0;'>
    <table border='1' cellpadding='0' cellspacing='0' width='100%'>
        <tr>
            <td>
                <img src='http://i.stack.imgur.com/Jy9QUm.jpg'/>
            </td>
        </tr>
        <tr>
            <td>
                test text
            </td>
        </tr>
    </table>
  </body>
</html>
";
  • 经过测试后,成功了。

Foonotes:(编辑)

即使我回答了问题,我决定将这个问题与他们的另一个问题How to send mail using php by insert html into mail content?完全重复,他们也是无响应,并在那里给出答案,回答了什么他们发布了代码。