Стендап Сьогодні
📢
Канал в Telegram @stendap_sogodni
🦣
@stendap_sogodni@shevtsov.me в Федиверсі
03.10.2025
Дивна природа багаточастинних листів
Якщо довелося тобі надсилати електронну пошту автоматично, то, певно, знаєш, що в листа може бути два “смаки”: просто текст та HTML. А також — вкладення. Тож, як воно там всередині влаштовано?
Для надсилання кількох частин в одному листі використовується тип змісту multipart
. Приблизно, до речі, такий саме, як і при надсиланні вебформи з файлом. Тільки там multipart/form-data
, а в листі буде multipart/alternative
, що значить, що клієнт мусить обрати одну з частин за власними можливостями.
Стоп, скажеш ти, а як тоді вкладення вписуються? А для вкладень вже є multipart/mixed
, який нічого не говорить про природу частин. Але як зробити і текст/HTML, і вкладення? Ооо, тут ми дізнаємося, що всередині multipart/mixed
як одна з частин може сидіти multipart/alternative
. Та й взагалі технічно листи у форматі multipart
містять ціле дерево частин, майже файлову систему!
Багаточастинні листи також використовуються у сповіщеннях про спам чи просто сервісних відповідях, для того є тип multipart/report
. Однією з частин буде оригінальний лист, іншою — зміст відповіді. Взагалі там ціла купа тих типів, про які я навіть не знав. От, наприклад, контейнери для шифрування.
І все це просто щоб показати лист з якимось там логотипом. Звісно, користувачам можна про все це не треба знати, але коли ти розробляєш поштового клієнта чи інфраструктуру — доведеться враховувати всі можливі ускладнення.