У меня есть письмо, которое я пытаюсь отправить (вся электронная почта находится в заголовках). Фактически, электронная почта отправляется. Но когда он добирается до места назначения, контент удаляется. Если я отправляю то же электронное письмо, построенное по тому же коду с другого сервера, все отлично работает.
Когда я печатаю его с помощью nl2br(htmlspecialchars($headers, ENT_QUOTES))
, это то, что я получаю:
From: kittsil@example.com Reply-to: kittsil@example.com 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--
Когда отправляется электронное письмо, тело пуст, и когда я смотрю на него в «show original» Gmail, он выглядит одинаково, но содержимого нет.
Я использую postfix и OpenDKIM, но я отключил каждую из них и даже переключился обратно на sendmail, и ни у одного из этих писем нет тел. Я разорвал свои волосы об этом.
Вам не хватает пустых строк в вашем теле письма.
Цитата из RFC :
Каждая часть начинается с границы инкапсуляции, а затем содержит часть тела, состоящую из области заголовка, пустой строки и области тела.
(Акцент мой)
Добавьте правильные пустые строки, и он работает:
Заголовок:
From: kittsil@example.com Reply-to: kittsil@example.com 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--