Содержимое, удаленное из электронной почты на php mail()
У меня есть письмо, которое я пытаюсь отправить (вся электронная почта находится в заголовках). Фактически, электронная почта отправляется. Но когда он добирается до места назначения, контент удаляется. Если я отправлю то же электронное письмо, построенное по тому же коду с другого сервера, все отлично работает.
Когда я печатаю его с помощью nl2br(htmlspecialchars($headers, ENT_QUOTES))
, это то, что я получаю:
From: [email protected]
Reply-to: [email protected]
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="cccf6094979eaede770a2a2e88fc83e9"
Content-Transfer-Encoding: 7bit
This is a MIME encoded message.
--cccf6094979eaede770a2a2e88fc83e9
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
You are not being awesome....
--cccf6094979eaede770a2a2e88fc83e9--
Когда сообщение отправлено, тело пуст, и когда я смотрю на него в Gmail "показать оригинал", он выглядит одинаково, но содержимого там нет.
Я использую postfix и OpenDKIM, но я отключил их, и даже переключился обратно на sendmail, и ни у одного из этих писем нет тел. Я разорвал свои волосы об этом.
Ответы
Ответ 1
Вам не хватает пустых строк в вашем теле письма.
Цитировать из RFC:
Каждая часть начинается с границы инкапсуляции и затем содержит часть тела, состоящую из области заголовка, пустую строку и область тела.
(Подчеркните мой)
Добавьте правильные пустые строки, и он работает:
Заголовок:
From: [email protected]
Reply-to: [email protected]
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="cccf6094979eaede770a2a2e88fc83e9"
Content-Transfer-Encoding: 7bit
Тело
This is a MIME encoded message.
--cccf6094979eaede770a2a2e88fc83e9
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
You are not being awesome....
--cccf6094979eaede770a2a2e88fc83e9--