Відправлення листа з вкладенням

Проблеми з кодуванням при відправці email листів за допомогою php ми вже розібрали в попередній частині нашої статті. Давайте розберемося з рештою питаннями.

Отже, на порядку денному: використання вкладень і вставка зображення в тіло листа.

Напевно багатьом на пошту приходили гарні листи з версткою і картинками. А відправляючи листи власноруч, приходить негарний текст. У даній статті ми навчимося відправляти листи з красивою версткою і картинками. що часто буває необхідно при відправці розсилок.

Якщо ви коли-небудь стикалися з відправкою таких листів, то, швидше за все у вас часто виникали такі проблеми:

  • вкладений файл не відкривається або відкривається неправильно
  • не відображається текст
  • картинку можна скачати, але вона не вставляється в тіло листа.

Давайте, спробуємо з усім цим розібратися.

Для відправки листів з вкладеннями використовується спеціальний формат, який називається multipart. У заголовках (headers) він вказується як Content-type: multipart / mixed; boundary =. При цьому тіло листа складається з шматочків (кожен шматочок - це частина листа, текст або вкладення), які поділяються значенням boundary. Кожен шматочок має свої заголовки (звичайно ж Content-type, ну і інші).

Написаний раніше клас для роботи з поштою я модифікував під відправку multipart повідомлень:

Тут функція send () перевіряє кількість «шматочків». Якщо «шматочок» один, то відправляє його як текст. Адже multipart нам не потрібен, якщо ми відправляємо тільки текст.

Функції attachment () і body () прикріплюють текст або вкладення. Принцип їх роботи, я думаю, зрозумілий.

Відправлення листів з вкладеннями не представляє складності. Тут я прикріплюю картинку і zip-архів:

Приклад листа, який надійшов мені.

Відправлення листа з вкладенням

Вітаємо! Ви навчилися відправляти листи з вкладеннями.

Схожі статті