Я работаю со сторонним приложением, которое отправляет простые сообщения электронной почты SMTP. Приложение не учитывает разрывы строк и множественные пробелы, поэтому итоговое электронное письмо едва читается.
Поскольку сообщение приходит через наш SMTP-сервер, Outlook видит его как обычный текст. Могу ли я включить html-теги в почтовое сообщение SMTP и заставить Outlook обрабатывать теги, чтобы вывод был более удобным для пользователя?
SMTP-почта обычно использует MIME формат сообщения. Этот формат представляет собой очень гибкую систему, которая позволяет одному сообщению содержать несколько разделов (называемых «частями»), каждый из которых использует свою собственную кодировку и тип.
Сейчас, SMTP mail - это очень старая функциональность, она фактически предшествует формату MIME и поэтому будет поддерживать сообщения в том же формате. как правило, именно так будет обрабатывать самое простое приложение для отправки почты: просто как кучу текста.
На практике почтовое сообщение MIME состоит из набора заголовков, за которыми следует тело сообщения. Один из этих заголовков указывает, как закодировано сообщение. Если тело сообщения представляет собой обычный текст, этот заголовок будет читать:
Content-type: text/plain
И если тело сообщения состоит из HTML, оно обычно будет
Content-type: multipart/related
(или иногда прямо text/html
)
Это сообщает почтовому клиенту, что сообщение состоит из нескольких частей. На этом этапе каждая часть должна указывать, к какому типу она должна относиться (в дополнение к нескольким другим параметрам).
Все это говорит о том, что если ваше почтовое приложение отправляет сообщение в виде обычного текста, и вы хотите преобразовать его в HTML, вам придется, по крайней мере, изменить заголовок типа содержимого сообщения в дополнение к изменению самого тела сообщения. .