使用php发送邮件:标头被破坏

使用php发送邮件:标头被破坏,php,email,header,Php,Email,Header,我使用以下代码发送邮件: $recipient="mymail@example.com"; $body="<html><body>This is magic</body></html>"; $subject="hi folks!"; $thisMail="sender@example.com"; $replyHeader = "MIME-Version: 1.0\r\nContent-Type: text/html; charset=UTF-8\r

我使用以下代码发送邮件:

$recipient="mymail@example.com";
$body="<html><body>This is magic</body></html>";
$subject="hi folks!";
$thisMail="sender@example.com";
$replyHeader = "MIME-Version: 1.0\r\nContent-Type: text/html; charset=UTF-8\r\nFrom: ".$thisMail. "\r\nReply-To: ".$thisMail."\r\n";
mail($sender, "Re:".$subject, $body, $replyHeader); 
$recipient=”mymail@example.com";
$body=“这是魔术”;
$subject=“大家好!”;
$thisMail=”sender@example.com";
$replyHeader=“MIME版本:1.0\r\n内容类型:text/html;charset=UTF-8\r\n来自:”。$thisMail。“\r\n请参阅:“.$thisMail”。\r\n”;
邮件($sender,“Re:$subject,$body,$replyHeader);
邮件已发送,但当我在客户端邮件程序中打开它时,邮件头似乎已损坏。第一个新行(\r\n)之后的所有内容都显示在邮件中。还将显示一些其他标题内容。因此,邮件的可见正文在邮件客户端中如下所示:

Content-Type: text/html; charset=UTF-8
From: sender@example.com
Reply-To: sender@example.com
Envelope-To: mymail@example.com
X-UI-Filterresults [... lots of stuff]

<html><body>This is magic</body></html>
内容类型:text/html;字符集=UTF-8
发件人:sender@example.com
答复:sender@example.com
信封收件人:mymail@example.com
X-UI-Filterresults[…很多东西]
这是魔术
那里出了什么问题


有一个(在许多例子中)表明它“应该”是这样工作的:

而不是依赖于
邮件功能,有一些非常棒的库可以为您处理标题、附件、内容和发送

其中一个——Laravel和其他框架使用的——是,你应该去看看

他们也有一些好东西


老实说,你会从使用库而不是重新发明轮子中获益匪浅。

哪里出了问题?
-我的一般回答是:你只是用字符串连接构建了一个电子邮件“blob”。这是你的问题。有更好的解决方案,例如,你不想告诉我我需要使用外部库用php发送简单邮件吗?根据网络上的多个来源,它“应该”像我那样工作。顺便说一句:任何人都知道为什么这被否决了吗?这是一个有效的问题,我怎么说?当你尝试css技巧的方式(将字符串单独连接而不是一个字符串)时,它是否有效?在线文件和下载有什么不同吗?请不要误会:谢谢你的回答。但是我真的需要一个库来存放一封非常简单的电子邮件吗?我不想要任何花哨的东西,“只是”一封带有html的简单邮件。有(至少)几百个网站建议像我那样做。(包括官方文档)当你开始添加标题等内容时,这不是一封简单的电子邮件。你也可以在第一次适当地开发一些内容,这样,如果你以后需要扩展它并发送附件,那么你就可以这样做。“但我真的需要一个库来存放一封真正简单的电子邮件吗?”-是的。电子邮件是一个或多或少已经解决的问题,只有当你不使用合适的工具时,它才会起到反作用。mail()+字符串concat不是合适的工具。只在stackoverflow上搜索:它充满了像你一样的shipwrack脚本(无意冒犯)。这看起来很容易,但实际上不是…除非你使用合适的工具。好的。我试试看。对于一些看似简单的事情,使用外部工具总是有点像屈服,但这次我将尝试一下:)谢谢
外部工具
-你编写了mail()函数?还是背后的mta?最终都是外部工具;我们都站在巨人的肩膀上;与“非发明于此”综合症作斗争;-)