Автор оригинала: Sushant Saurabh.
Почему необходимо по-разному обрабатывать несколько частей почты ??
В принципе существует много составных типов, и все они должны обрабатываться однозначно:
Смешанный подтип
“Смешанный” подтип “составных частей” предназначен для использования, когда части тела независимы и должны быть собраны в определенном порядке. Любые “составные” подтипы, которые реализация не распознает, должны рассматриваться как подтипы “смешанные”.
Альтернативный подтип
Тип “составная/альтернативная” синтаксически идентичен типу “составная/смешанная”, но семантика отличается. В частности, каждая из частей тела является “альтернативной” версией одной и той же информации.
Системы должны признавать, что содержимое различных частей взаимозаменяемо. Системы должны выбирать “лучший” тип на основе локальной среды и ссылок, в некоторых случаях даже посредством взаимодействия с пользователем. Как и в случае с “составными/смешанными”, порядок частей тела имеет важное значение. В этом случае альтернативы появляются в порядке возрастания верности исходному содержанию.
В целом, лучшим выбором является ПОСЛЕДНЯЯ часть типа, поддерживаемого локальной средой системы получателя.
” Составная часть/альтернатива” может использоваться, например, для отправки сообщения в необычном текстовом формате таким образом, чтобы его можно было легко отобразить в любом месте:
From: Nathaniel BorensteinTo: Ned Freed Date: Mon, 22 Mar 1993 09:41:09 -0800 (PST) Subject: Formatted text mail MIME-Version: 1.0 Content-Type: multipart/alternative; boundary=boundary42 --boundary42 Content-Type: text/plain; charset=us-ascii ... plain text version of message goes here ... --boundary42 Content-Type: text/enriched ... RFC 1896 text/enriched version of same message goes here ... --boundary42 Content-Type: application/x-whatever ... fanciest version of same message goes here ... --boundary42--
В этом примере пользователи, почтовые системы которых понимают формат “приложение/x-что угодно”, будут видеть только оригинальную версию, в то время как другие пользователи будут видеть только расширенную или текстовую версию, в зависимости от возможностей их системы.
Оригинал: “https://www.codementor.io/@sushantsaurabh/javamail-multiparts-azyrpaz2v”