Laragon v.2.2.2中的Mail()函数 - 发送

时间:2017-03-31 15:31:32

标签: php encoding sendmail laragon

我正在使用Laragon v.2.2.2 - 开发环境

我尝试发送带有光泽字符的邮件“śćńółęśąśżćźó”, 我还添加了正确的标题“Content-type:text / html; charset = UTF-8”和文件编码到邮件, 但是在sendmail输出日志和gmail上,消息如下所示: 的 “L> A L” ALL,ATL> A.L>。LLA LsAl“

Sendmail输出日志:

17.03.31 16:02:58 ** --- MESSAGE BEGIN ---
17.03.31 16:02:58 ** To: ***@gmail.com
17.03.31 16:02:58 ** Subject: test
17.03.31 16:02:58 ** X-PHP-Originating-Script: 0:index.php
17.03.31 16:02:58 ** Content-type: text/html; charset=UTF-8
17.03.31 16:02:58 ** 
17.03.31 16:02:58 ** śćńółęśąśżćźó
17.03.31 16:02:58 ** --- MESSAGE END ---


17.03.31 16:02:59 >> Date: Fri, 31 Mar 2017 16:02:59 <EOL>
17.03.31 16:02:59 >> To: ***@gmail.com<EOL>
17.03.31 16:02:59 >> Subject: test<EOL>
17.03.31 16:02:59 >> X-PHP-Originating-Script: 0:index.php<EOL>
17.03.31 16:02:59 >> Content-type: text/html; charset=UTF-8<EOL>
17.03.31 16:02:59 >> <EOL>
17.03.31 16:02:59 >> L>A?L"AlL,ATL>A.L>LLA?LsAl<EOL>
17.03.31 16:02:59 >> .<EOL>

PHP代码:

<?php
    mail('***@gmail.com', 'test', 'śćńółęśąśżćźó', "Content-type: text/html; charset=UTF-8");
?>

邮件通过Laragon电子邮件配置发送(我正在使用Gmail)

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

声明所有 MIME标头,包括8位编码声明。它应该允许您的sendmail(SMTP)服务器进行接收SMTP服务器所需的转换 电子邮件标头中的非ASCII字符需要另一种特殊编码(RFC2047) 由于非常古老的传统,电子邮件默认只包含7位字符。

MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit

答案 1 :(得分:0)

问题解决了。 Laragon的开发人员为sendmail做了一个修补程序。现在编码工作正常。这是修补程序(在上一篇文章中)https://forum.laragon.org/topic/433/mail-function-trouble-with-encoding