Отправка писем с вложениями посредством стандартной функции РНР mail()

Приветствую вас, дамы и господа, любящие покопаться в коде. Давно назревала необходимость в отправке писем с вложенными файлами через стандартный механизм (использование доп.библиотек неудобно в силу ряда причин) и вот момент настал. Да ещё и повезло — разбираться самому «что и как» не пришлось, за что спасибо нашему камраду detect. Он предоставил код, позволяющий отправлять письма с вложениями, а я уже под свои нужды его «расширил и углубил». В общем, если кому такое тоже требуется, держите:

Рассмотрим немного подробнее:

      $from — email адрес, который будет подставлен в поля заголовка письма From и Reply-To
      $to — адрес, или список адресов, на которые будет выслано письмо
      $subj — тема письма
      $text — текст письма
      $attaches — список файлов, которые необходимо приложить к письму; формат — имя_файла => полный_путь_к_файлу
      $text_attaches — список строк, которые надо приложить к письму в виде файлов; формат — имя_файла => содержимое_файла
      $content_type — тип содержимого тела письма; варианты — text/plain (по умолчанию), text/html
      если открыть файл, указанный в массиве $attaches не удалось, то сообщение об этом будет добавлено к телу письма
      при успешной отправке письма функция вернёт 1, иначе — 0
      тип содержимого text/plain удобно использовать, если вам надо в письме высылать текстовые отчёты с переводами строк и нет желания заморачиваться на разметку и оформление

P.S. Спасибо detect’у за предоставленный код и сбережение времени.

One comment

  1. На самом деле я этот код не писал по сути:)
    Нвшел пример на opennet.ru если не ошибаюсь, и немного переделал. А вообще неплохо было бы добавить парсилку mime типов и в аттаче отдавать не application/octet-stream, а тип самого файла

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *