HTML电子邮件无法正确显示Godaddy基于Web的邮件

Chr*_*ngs 2 php email

我使用以下PHP代码发送电子邮件.我在Outlook和其他地方测试过,一切都正确.但是,如果我将电子邮件发送给使用Godaddy基于Web的电子邮件查看器的人,则会出现两个问题:

  • 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<info@site.com>\r\n";
    mail($to, $subject, $message, $headers);
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

Chr*_*ngs 9

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

我改变了这3行:

$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$headers .= "From: Site<info@site.com>\r\n";
Run Code Online (Sandbox Code Playgroud)

$headers  ='"MIME-Version: 1.0' . PHP_EOL;
$headers .= 'Content-Type: text/html; charset=ISO-8859-1' . PHP_EOL;
$headers .= 'From: Site<info@site.com>' . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)

这解决了问题.

谢谢,克里斯