Онлайн-руководство разработчика NetCat
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.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");

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

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

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

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

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

Описание проекта