Я использую Laragon v. 2.2.2 — Среда разработки
Я пытался отправить почту с польскими символами «Śćńółęśąśżćźó»,
также я добавил правильные заголовки «Тип содержимого: 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)
Как это исправить?
декларировать все MIME заголовки, включая объявление 8-битной кодировки. Это должно позволить вашему серверу sendmail (SMTP) проводить преобразования, необходимые для получения SMTP-сервера.
Символы, отличные от ASCII, в заголовках электронной почты требуют другой специальной кодировкиRFC2047).
Из-за очень древней традиции электронные письма по умолчанию должны содержать только 7-битные символы.
MIME-Version: 1.0
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 8bit
Проблема решена. Разработчик Laragon сделал исправление для sendmail. Теперь кодировка работает нормально. Вот исправление (в последнем посте) https://forum.laragon.org/topic/433/mail-function-trouble-with-encoding