Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 13.2.1Начало работы с модулем 13.2.2Язык запросов 13.2.3Способы хранения индекса 13.2.4Интерфейс модуля в панели управления сайтом 13.2.5Области индексирования 13.2.6Области HTML-страниц 13.2.7Области поиска на сайте 13.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 13.2.9Правила индексирования 13.2.10Постановка задачи переиндексирования в очередь 13.2.11Интеграция модуля в макеты дизайна сайта 13.2.12Простая форма поиска 13.2.13Расширенная форма поиска 13.2.14Вывод результатов поиска 13.2.15Стилизация списка подсказок 13.2.16Расширенные настройки 13.2.17Разработка расширений модуля 13.2.18Обзор архитектуры модуля 13.2.19Обработчики документов различных типов 13.2.20Текстовые фильтры 13.2.21Анализаторы текста 13.2.22Корректировщики запросов 13.2.23Подключение других поисковых систем 13.2.24Решение проблем с поиском 13.2.25Решение проблем с индексированием 13.2.26Справочник API

Класс работы с письмами (mail)

Доступность: везде

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

Инициализация

Для работы с классом необходимо создать объект этого класса:

$mailer = new CMIMEMail();

Кодировка письма

Для смены кодировки письма требуется вызвать метод класса setCharset(), указав в параметре требуемую кодировку. По умолчанию используется windows-1251 в случае использовании русского языка и ISO-8859-1 для английского.

$mailer->setCharset('koi8r');

Типы писем, создание тела письма

Класс позволяет отправлять письма в виде простого текста, html-письма и письма с вложениями (с прикрепленными файлами).

Самый просто случай — это письма с простым текстом без вложения. В этом случае необходимо вызвать метод класса mailbody, указав в параметре текст письма.

$mailer->mailbody("Я письмо!");

или так :

$text = "Простой текст простого письма";
$mailer->mailbody($text);

В случае html-письма без вложения письмо отправляется в двух видах: простом тексте и html-виде (тип содержания в этом случае multipart/alternative). Если почтовый клиент не поддерживает html (или показ сообщения html был отключен), то будет показываться простой тескт, иначе — текст в виде html.

Простой текст задается первым параметром метода mailbody, html-текст — вторым.

$text = "<b>Привет!</b>";
$mailer->mailbody( strip_tags($text), $text);

В этом случае, если пользовательский почтовый клиент может показывать html-письма выведется «Привет!», а если нет — то просто текст «Привет!».

Возможен такой варинт:

$mailer->mailbody("К сожалению, Ваш почтовый клиент не может показать это письмо, так как оно в виде html", $text);

Прикрепление файлов

Для создания вложения нужно вызвать метод attachFile, передав ему путь к файлу, имя файла и его тип.

$mailer->attachFile("../attach.doc", "имя_файл.txt", "application/octet-stream");

Чтобы прикрепить несколько файлов, этот метод нужно вызвать нужное количество раз:

$mailer->attachFile("../1h.doc", "1.txt", "application/octet-stream");
$mailer->attachFile("../2.doc", "2.txt", "application/octet-stream");
$mailer->attachFile("../2.doc", "3.txt", "application/octet-stream");

Установка одного получателя копии письма

Для установки одного получателя копии письма можно вызвать метод set_cc, передав в параметрах адрес назначения и (необязательно) имя получателя.

$mailer->set_cc("получатель_копии@адрес.ru", "Какой-то-Какойтович");

Установка нескольких получателей копии письма

Для установки нескольких получателей копии письма нужно вызвать метод set_cc, передав первым параметром массив, где значениями будут адреса назначения. Если необходимо передать имя адресата, тогда адрес получателя используется в качестве ключа массива, а имя адресата в качестве значения.

$mailer->set_cc(array(
    "получатель_копии_1@адрес.ru",
    "получатель_копии_2@адрес.ru" => "Какой-то-Какойтович",
    "получатель_копии_3@адрес.ru",
    "получатель_копии_4@адрес.ru"
));

Установка одного получателя скрытой копии письма

Для установки одного получателя скрытой копии письма можно вызвать метод set_bcc, передав в параметрах адрес назначения и (необязательно) имя получателя.

$mailer->set_bcc("получатель_скрытой_копии@адрес.ru", "Какой-то-Какойтович");

Установка нескольких получателей скрытой копии письма

Для установки нескольких получателей скрытой копии письма нужно вызвать метод set_bcc, передав первым параметром массив, где значениями будут адреса назначения. Если необходимо передать имя адресата, тогда адрес получателя используется в качестве ключа массива, а имя адресата в качестве значения.

$mailer->set_bcc(array(
    "получатель_скрытой_копии_1@адрес.ru",
    "получатель_скрытой_копии_2@адрес.ru" => "Какой-то-Какойтович",
    "получатель_скрытой_копии_3@адрес.ru",
    "получатель_скрытой_копии_4@адрес.ru"
));

Отправка письма

Для отправки письма нужно вызвать метод send, передав в параметрах адрес назначения, с какого адреса пришло письмо, адрес для ответа, тему письма и имя отправителя.

$to        = "кому@адрес.ru";
$from      = "от_кого@aдрес.ru";
$reply     = "ответ_прислать_сюда@адрес.ru";
$from_name = "Имя отправителя";
$subject   = "Тема письма";
$mailer->send($to, $from, $reply, $subject, $from_name);

Итоговый пример использования

$to        = "кому@адрес.ru";
$cc        = "получатель_копии@aдрес.ru";
$bcc       = "получатель_скрытой_копии@aдрес.ru";
$from      = "от_кого@aдрес.ru";
$reply     = "ответ_прислать_сюда@адрес.ru";
$from_name = "Имя отправителя";
$subject   = "Тема письма";
$text      = "<b>Привет!</b>";
$mailer = new CMIMEMail();
$mailer->set_cc($cc);
$mailer->set_bcc($bcc);
$mailer->mailbody(strip_tags($text), $text);
$mailer->attachFile("../attach.doc", "имя_файл.txt", "application/octet-stream");
$mailer->send($to, $from, $reply, $subject, $from_name);
Описание проекта