Архив рассылки -программирование на PHP

         

И если вы пользуетесь правильным...


И если вы пользуетесь правильным почтовым клиентом, то вы их всегда видите:
1. Текстовый вариант основного текста;
2. html-вариант основного текста (почему-то почтовые клиенты отдают именно ему приоритет. Видимо, из-за всякой "красоты", которую несет html);
3. Собственно, присоединенные файлы. Или как их называют в просторечье -- аттачи;

Создать первые две части можно одной функцией, т.к. обе они представляют собой обычный текст.

function mail_body($html, $plain) { $this->mail_body_html=$html; $this->mail_body_plain=$plain; } Честно говоря, можно было этой функции вообще не писать, т.к. она производит всего лишь простое присваивание, которое можно делать точно так же перед отправкой каждого письма. Никакой разницы, вроде? Действительно, зачем вызывать для прямого присваивания дополнительную функцию. Но я предпочитаю подобные вещи оформлять отдельной функцией для того, чтобы в последствии можно было единым махом добавить что-то в систему отправки писем -- фильтры на запрещенные слова, например. Или, если ваши скрипты обслуживают клиентов, то можно в эту функцию добавить сквозную нумерацию писем -- прицеплять к тексту что-то вроде: "Идентификационный номер данного письма 00012424 от 02.12.02. Если вы нуждаетесь в дополнительных пояснениях, напишите в нашу службу поддержки, указав ID письма...", -- да и снабдить еще эту функцию логированием всех писем, чтобы знать -- когда кому и что было отправлено.
И так далее. Как видите -- маленький "перезаклад" сегодня может выйти солидной экономией времени в будущем.

Переходим к следующему пункту -- форматируем файлы-вложения. Сейчас у вас головка-то закипит... Я, конечно, попробую все разжевать подробно, но уж как получится. В крайнем случае -- плюньте на непонятное слюной и просто используйте то, что написано.

Присоединенные файлы могут создаваться двумя путями -- генерироваться скриптом или читаться из файла. Нам надо предусмотреть для себя оба этих случая.

Для хранения аттачей будем использовать ассоциативный массив.



Содержание раздела