PHP在消息副本中发送头

PHP在消息副本中发送头,php,email,Php,Email,我正在尝试使用PHP发送和HTML格式的电子邮件。我一直在排除故障,但以下是我的测试代码: $email =" <html> <body> <p style=\"text-align:center;height:100px;background-color:#abc;border:1px solid #456;border-radius:3px;padding:10px;\"> <b>I am receiving H

我正在尝试使用PHP发送和HTML格式的电子邮件。我一直在排除故障,但以下是我的测试代码:

$email ="
<html> 
  <body> 
    <p style=\"text-align:center;height:100px;background-color:#abc;border:1px solid #456;border-radius:3px;padding:10px;\">
        <b>I am receiving HTML email</b>
        <br/><br/><br/><a style=\"text-decoration:none;color:#246;\" href=\"www.example.com\">example</a>
    </p>
    <br/><br/>Now you Can send HTML Email
  </body>
</html>";


$emailaddress = "personsemail@website.com";
$subject = "Test Email";
$headers = "From: noreply@server.com\r\n";
$headers .= "Content-type: text/html\r\n";


mail($emailaddress, $subject, $email, $headers);
$email=”

我收到HTML电子邮件




现在您可以发送HTML电子邮件了 "; $emailaddress=”personsemail@website.com"; $subject=“测试电子邮件”; $headers=“From:noreply@server.com\r\n“; $headers.=“内容类型:text/html\r\n”; 邮件($emailaddress、$subject、$email、$Header);
“发件人”标题起作用,但电子邮件不显示为HTML,而是显示如下所示的纯文本:

Content-type: text/html
Message-Id: <randomnumber@servername.hostingprovidor.com>
Date: Tue, 28 Apr 2015 12:45:48 -0500 (EST)


<html>
  <body>
    <p style="text-align:center;height:100px;background-color:#abc;border:1px solid #456;border-radius:3px;padding:10px;">
        <b>I am receiving HTML email</b>
        <br/><br/><br/><a style="text-decoration:none;color:#246;" href="www.example.com">example</a>
    </p>
    <br/><br/>Now you Can send HTML Email
  </body>
</html>
内容类型:文本/html
消息Id:
日期:2015年4月28日星期二12:45:48-0500(美国东部时间)

我收到HTML电子邮件




现在您可以发送HTML电子邮件了

这是服务器设置问题吗?感谢您的帮助。

您需要更多的标题才能将电子邮件内容显示为html,请尝试以下操作:

$email = <<< LOL
<html> 
  <body> 
    <p style="text-align:center;height:100px;background-color:#abc;border:1px solid #456;border-radius:3px;padding:10px;">
        <b>I am receiving HTML email</b>
        <br/><br/><br/><a style="text-decoration:none;color:#246;" href="www.example.com">example</a>
    </p>
    <br/><br/>Now you Can send HTML Email
  </body>
</html>
LOL;

$emailaddress = "personsemail@website.com";
$subject = "Test Email";
$headers = "From: noreply@server.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";


mail($emailaddress, $subject, $email, $headers);

$email=要将电子邮件内容显示为html,您还需要几个标题,请尝试以下操作:

$email = <<< LOL
<html> 
  <body> 
    <p style="text-align:center;height:100px;background-color:#abc;border:1px solid #456;border-radius:3px;padding:10px;">
        <b>I am receiving HTML email</b>
        <br/><br/><br/><a style="text-decoration:none;color:#246;" href="www.example.com">example</a>
    </p>
    <br/><br/>Now you Can send HTML Email
  </body>
</html>
LOL;

$emailaddress = "personsemail@website.com";
$subject = "Test Email";
$headers = "From: noreply@server.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";


mail($emailaddress, $subject, $email, $headers);

$email=您可能应该在标题中设置MIME类型。试试这个:

$headers = 'From: noreply@server.com' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

您可能应该在头中设置MIME类型。试试这个:

$headers = 'From: noreply@server.com' . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

这是如果在
From
内容类型
标题之间有一个额外的
\r\n
将得到的。这是如果在
From
内容类型
标题之间有一个额外的
\r\n
将得到的。他的原始代码很好,如果引号有误,他可能会犯语法错误。他从嵌入的引号中逃脱了。@ dBythz如果我的回答帮助了你,请考虑通过点击投票箭头中间的复选标记来接受它作为正确答案。Tks!他的原始代码很好,如果引号是错误的,他会得到一个语法错误。他从嵌入的引号中逃脱了。@ dBythz如果我的回答帮助了你,请考虑通过点击投票箭头中间的复选标记来接受它作为正确答案。Tks!这不会导致头被放入体内。顺便说一句,为什么要在单引号和双引号之间来回切换呢?通常,我会尝试将字符串文本保留在单引号内。但是,我也看到过这样的问题:如果换行符是字符串文字,那么换行符就不能正常工作,特别是在邮件头中。出于这个原因,我总是把行尾折成双引号。这可能是问题的一部分。当然,换行符在单引号中不起作用。转义序列只能在双引号中识别。但是,将整个文本放在双引号中并没有什么错,
“foo\r\n”
对,这更多是为了清晰和避免事故。这可能就是为什么在PHP mail()文档页面的示例文档中采用这种方式,而不会将标题放入正文中。顺便说一句,为什么要在单引号和双引号之间来回切换呢?通常,我会尝试将字符串文本保留在单引号内。但是,我也看到过这样的问题:如果换行符是字符串文字,那么换行符就不能正常工作,特别是在邮件头中。出于这个原因,我总是把行尾折成双引号。这可能是问题的一部分。当然,换行符在单引号中不起作用。转义序列只能在双引号中识别。但是,将整个文本放在双引号中并没有什么错,
“foo\r\n”
对,这更多是为了清晰和避免事故。这可能就是PHP mail()文档页面的示例文档中采用这种方式的原因