2017-03-31 44 views
1

我使用Laragon v 2.2.2 - 開發環境郵件()函數Laragon v.2.2.2 - 錯誤的編碼後發送

我試圖與波蘭人物「śćńółęśąśżćźó」發送郵件, 我還添加了正確的標頭「Content-type:text/html; charset = UTF-8」和文件編碼到郵件, 但在sendmail輸出日誌和gmail上,消息看起來像: 「L> L「AlL,ATL> AL> LLA?LsAl」

Sendmail out把日誌:

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代碼:(我使用Gmail)

如何解決

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

郵件通過電子郵件Laragon發送的配置?

回答

0

聲明全部MIME標題包括聲明的8位編碼。它應該允許您的sendmail(SMTP)服務器執行接收SMTP服務器所需的轉換。
電子郵件標題中的非ASCII字符需要另一種特殊編碼(RFC2047)。
由於非常古老的傳統,電子郵件默認只包含7位字符。

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

WordPress的也使用這個。編碼仍然是錯誤的。 :/ – Savander

+0

您能否以「原始」格式包含收到的電子郵件? [所有標頭也] – AnFi

+0

其實,問題已解決。 Laragon的開發人員爲sendmail做了一個修補程序。現在編碼工作正常。這是修補程序(在最後一篇文章中) https://forum.laragon.org/topic/433/mail-function-trouble-with-encoding – Savander