【问题标题】:PHP Email To HTML issuePHP电子邮件到HTML问题
【发布时间】:2011-08-26 12:07:13
【问题描述】:

我正在尝试使用 PHP 发送电子邮件,但收到一个奇怪的错误。

在我的 PHP 中:

<?php

mail($email_to, $email_subject, $headers, $message);

$email_to = 'example@example.com';

$email_subject = 'Hello World';

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

$message = '<html><body>';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr><td><strong>Email:</strong> </td><td>" . strip_tags($_POST['test1']) . "</td></tr>";
$message .= "<tr><td><strong>Message:</strong> </td><td>" . strip_tags($_POST['test2']) . "</td></tr>";
$message .= "</table>";
$message .= '</body></html>';

   if(mail($email_to, $email_subject, $headers, $message)){
        echo 'sent';    
    }else{
        echo 'failed';
    }
?>

我收到的是纯文本:

<html><body><table rules="all" style="border-color: #666;" cellpadding="10"><tr><td>
<strong>Email:</strong> </td><td>test@test.com</td></tr><tr><td>
<strong>Message:</strong> </td><td>hello world</td></tr></table></body></html>

From: example@example.com
MIME-Version: 1.0
Content-Type: text/html; charset=ISO-8859-1

谁能发现我做错了什么?我在 2 台不同的服务器上对此进行了测试,结果相同。

【问题讨论】:

    标签: php html-email


    【解决方案1】:

    应该是

     if(mail($email_to, $email_subject, $message, $headers)){ ...
    

    您的 $message 和 $headers 顺序错误。

    【讨论】:

      【解决方案2】:

      您混淆了 $message 和 $headers 的位置。试试这个mail($email_to, $email_subject, $message, $headers)

      http://php.net/manual/en/function.mail.php

      【讨论】:

      • 完全没有区别。
      • 你把它放在你的代码中,在 if 语句中吗?通话成功了吗?您收到“已发送”的回复了吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 2016-06-15
      • 1970-01-01
      • 2019-06-15
      • 2012-09-20
      相关资源
      最近更新 更多