Английская электронная почта отображает китайские иероглифы

Я использую Postal для отправки электронных писем с HTML и текстовой частью.

Когда письмо отправляется в Gmail, оно отображается правильно. Однако, когда он отображается по крайней мере в двух других системах электронной почты (интерфейс веб-почты Mail Enable и неизвестная система на клиенте), текст отображается как что-то похожее на китайский. Когда клиент пересылает электронное письмо обратно в учетную запись Gmail, также отображается «китайский» рендеринг.

Пример созданного электронного письма:

X-Sender: [email protected]
X-Receiver: [email protected]
MIME-Version: 1.0
From: [email protected]
To: [email protected]
Date: 17 Apr 2013 22:11:25 -0700
Subject: Some Subject
Content-Type: multipart/alternative;
 boundary=--boundary_0_83808b99-ef32-4f47-8835-ba4a435a2141


----boundary_0_83808b99-ef32-4f47-8835-ba4a435a2141
Content-Type: text/plain; charset=utf-16
Content-Transfer-Encoding: base64

MIME ENCODED CONTENTS HERE==
----boundary_0_83808b99-ef32-4f47-8835-ba4a435a2141
Content-Type: text/html; charset=utf-16
Content-Transfer-Encoding: base64

MIME ENCODED CONTENTS HERE=
----boundary_0_83808b99-ef32-4f47-8835-ba4a435a2141--

Очевидно, что существует проблема с кодировкой, которую Gmail каким-то образом решает, а другие почтовые серверы — нет, но в чем именно заключается проблема?

charset указывается как utf-16. Действительно ли Postal (или механизм MVC) генерирует вывод utf-8? Как я могу контролировать кодировку вывода и/или charset, указанную в заголовке электронной почты?


person Eric J.    schedule 18.04.2013    source источник


Ответы (1)


Кодировку символов можно явно установить на utf-8, добавив заголовки

Content-Type: text/plain; charset=utf-8
and
Content-Type: text/html; charset=utf-8

Дополнительную информацию см. в этой статье.

ВНИМАНИЕ: в статье опечатка. В строке text/plain отсутствует точка с запятой. Это исправлено в примере выше.

person Robert Bratton    schedule 18.04.2013
comment
Ответы, которые ссылаются только на внешний источник, не считаются хорошими ответами в Stack Overflow. Ответы должны быть автономными, но, безусловно, могут ссылаться на внешние источники для предоставления исходной или дополнительной информации. Как правило, ответы, содержащие только ссылки, удаляются сообществом. Поскольку вы новый пользователь, я отредактировал ваш ответ. Я проверяю, решает ли это проблему (я не использую символы, отличные от ASCII, как это было в ссылке, но кодировка UTF-8 может решить проблему в любом случае) - person Eric J.; 18.04.2013