pavlinux
@pavlinux

Какой алгоритм генерации Content-Type: boundary?

Какой алгоритм генерации параметра boundary при создании MIME писем, а конкретно с inline вложениями?

Дано: Outlook 14.
Content-Type: multipart/related; 
             boundary="----=_NextPart_000_0074_01D17EA2.0CF612B0"

This is a multipart message in MIME format.

------=_NextPart_000_0074_01D17EA2.0CF612B0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0075_01D17EA2.0CF612B0"

------=_NextPart_001_0075_01D17EA2.0CF612B0
Content-Type: text/plain;
	charset="UTF-8"
Content-Transfer-Encoding: base64
....


Тут видим, что boundary вложены:
1 NextPart_000_0074_01D17EA2.0CF612B0
2 NextPart_001_0075_01D17EA2.0CF612B0

Ладно, дело не в этом. Если я это письмо, немного поправив заголовок, передам в sendmail,
то оно прекрасно отобразится как в ГуглеПочте, так и в почтовых клиентах (OutLook 14/TB 38)
Но если я поменяю, хотя бы один байт в значениях boundary, то письмо отобразится как текстовое, начиная с "This is a multipart message in MIME format."
  • Вопрос задан
  • 2095 просмотров
Решения вопроса 1
Нет никакого единого алгоритма, каждое приложение использует свой алгоритм и даже boundary состоящий из единственного символа будет работать. Единственное требование - уникальность boundary в рамках одного письма. Если у вас показывается "This is a multipart message in MIME format" значит boundary просто не совпадает, не забывайте, что в качестве резделителя частей используется --boundary а в конце --boundary-- (в начале и в конце два дополнительных минуса).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы