HTML电子邮件无法正确显示基于Godaddy网络的邮件 - php

Improve this question

我正在使用以下PHP代码发送电子邮件。我已经在Outlook和其他地方进行了测试,并且一切正常。但是,如果我使用基于Godaddy网络的电子邮件查看器将电子邮件发送给某人,则会出现2个问题:

FROM电子邮件地址不显示
它不显示HTML电子邮件,而是显示HTML代码

这已经在多个机器和浏览器上使用多个基于Godaddy的帐户进行了验证。

这是我用来发送电子邮件的代码:

//build and send the email      
    $to = $email;
    $subject = 'Confirm your subscription';
    $message =( "<html>\r\n");
    $message .=( "<head>\r\n");
    $message .=( "<title>Confirm</title>\r\n");
    $message .=( "</head>\r\n");
    $message .=( "<body>\r\n");
    $message .=( "<h2>Thank You for registering</h2>\r\n");
    $message .=( "<p>To complete your registration, please click the link below.</p>\r\n");
    $message .=(" <p><a href=\"http://www.site.com/confirmation.php?confirm=$visitor_hash\">Click here to confirm your interest.</a></p>\r\n"); 
    $message .=( "</body>\r\n");
    $message .=( "</html>\r\n");

    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
    $headers .= "From: Site<[email protected]>\r\n";
    mail($to, $subject, $message, $headers);

有什么想法吗?

参考方案

经过大量搜索,发布和调整,我找到了解决方案。我在用户评论中的PHP Mail函数页面上找到了这个。

我将以下3行更改为:

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "From: Site<[email protected]>\r\n";

$headers  ='"MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-Type: text/html; charset=ISO-8859-1' . PHP_EOL;
$headers .= 'From: Site<[email protected]>' . PHP_EOL;

这样就解决了问题。

谢谢,
克里斯

PHP-复选框组 - php

我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…

当使用jquery的id做某事时,id可以来自任何一种标记吗? - php

我是JQuery的新手,我正尝试使用PHP,HTML和JQuery编写代码。我想用具有ID的标签替换HTML中的所有<?php echo $var; ?>。例如,我想使用<div id="name"></div>之类的东西,然后使用$("#name")将其显示在该div字段中。我的问…

PHP中奇怪的sprintf行为 - php

我试图做sprintf("<%s>", "Sat");,但是什么也没出现。当您删除小于符号时,它将再次开始工作。任何人都经历过这种行为以及是否会发生这种情况?因为我认为这是一个错误。您甚至可以在这里使用printf .....获得相同的结果。http://writecodeonline.com/php/ 参…

PHP:为什么将日期设置为数组? - php

为什么将此字符串组成一个数组,如何停止它?摘要:(获取日期)public function setDate(){ $this->date = date("Y-m-d"); return $date; } public function getDate(){ return $this->date; } $date = getDa…