Кодировка в обвязке — режим, который действует на все данные, добавленные после его выбора: 7-бит, 8-бит или base64. По умолчанию — 7-бит.
7-бит и 8-бит данных не меняют, кроме одного: одиночный перевод строки LF превращается в пару CRLF. При 7-бит следить, чтобы у всех байтов был снят старший бит, — забота подающего.
base64 кодирует на лету всё добавленное, поэтому годится и для двоичного содержимого — если подающий сам ставит подходящие заголовки MIME, согласованные с Content-Transfer-Encoding.
Слияние и base64 несовместимы: данные слияния поддерживают только 7-бит и 8-бит.
Три режима:
| Режим | Что делает с данными |
|---|---|
| PmtaMsgENCODING_7BIT | ничего, кроме LF в CRLF; старший бит — забота подающего; по умолчанию |
| PmtaMsgENCODING_8BIT | ничего, кроме LF в CRLF |
| PmtaMsgENCODING_BASE64 | кодирует на лету; для слияния не годится |
# двоичное вложение: base64 с совпадающим заголовком MIME msg.setEncoding(PmtaMsgENCODING_BASE64);
2 связи
grep -rn 'PmtaMsgENCODING' /opt/pmta/api/include/ | head
3 статьи
◇Как письмо попадает в MTAШесть описанных способов подачи: расширенный SMTP, четыре языковые обвязки и каталог, за которым узел следит на диске.◇Кому разрешено сдавать почту и для кого её приниматьИз коробки узел принимает подачу только с самой машины; два разных вопроса — «кто может слать через нас» и «на чьи адреса мы принимаем» — решаются разными директивами.◇Заголовки, которыми отправитель управляет доставкойШесть служебных заголовков позволяют подающей стороне выбрать поток, пометить письмо заданием, задать настройки и ключ подписи, идентификатор конверта и расписание; каждый разрешается отдельно и по источникам.