Для работы с электронной почтой существуют два вида драйверов APACHE (стандартная рассылка через команду mail) и отправка сообщений через SMTP сервер
Драйвер указывается через настройки(см раздел Подключение). В конфигцурации
Для отправки электронного сообщения используется метод
<?php
/**
* $text string Тело сообщения
* $address array|string Почтовый ящик, или массив ящиков на который будет отправлено сообщение
* $subject string Тема сообщения
* $db string Указатель на подключение в конфигурации
*/
send($text,$adress=array(),$subject='System mail',$db='');
Ошибки возникшие в процессе отправки вернуться в результате выполнения метода
Также есть возможность поймать ошибку в виде исключения
<?php
/**
* $text string Тело сообщения
* $address array|string Почтовый ящик, или массив ящиков на который будет отправлено сообщение
* $subject string Тема сообщения
* $db string Указатель на подключение в конфигурации
*/
sendOrFail($text,$adress=array(),$subject='System mail',$db='');
Перед отправкой сообщения вы можете настроить дополнительные необязательные параметры. Копия, скрытая копия, на какой ящик будет автоматически отправлен ответ. Все они сохранятся для указанного подключения
<?php
/**
* Установить копию
* $address string|array Адреса копии
* $db string Указатель на подключение в конфигурации
*/
c\mail::setCc($adress=array(),$db='');
/**
* Установить скрытую копию
* $address string|array Адреса скрытой копии
* $db string Указатель на подключение в конфигурации
*/
c\mail::setBcc($adress=array(),$db='');
/**
* Установить адреса для ответа
* $address string|array Адреса для ответа
* $db string Указатель на подключение в конфигурации
*/
c\mail::setReplyTo($adress=array(),$db='');
Вы можете добавлять вложения к письму через ссылки на файл, через передачу самого файла а также управлять отображением вложений в теле письма через следующие методы
<?php
/**
* Добавление вложения по ссылке на файл в письмо
* $sourceFilename string Ссылка на файл
* $totalFilename string Название файла внутри письма (по умолчанию - соответствует названию файла)
* $cid string Ссылка на изображение для отображения в теле
* $db Указатель на подключение в конфигурации
*/
c\mail::AddAttachment($sourceFilename,$totalFilename='', $cid='',$db='');
/**
* Добавление вложения по содержанию в письмо
* $text string Содержание
* $totalFilename string Название файла внутри письма
* $cid string Ссылка на изображение для отображения в теле
* $db Указатель на подключение в конфигурации
*/
c\mail::AddStringAttachment($text,$totalFilename, $cid='',$db='');
/**
* Обернуть ссылки внутри текста как вложения
* $text string Содержание
* $cacheFolder string Папка для кеширования одинаковых изображений в письмах для ускорения массовых рассылок
* $db Указатель на подключение в конфигурации
* @return Текст с замененными ссылками через cid
*/
c\mail::embedAttachment($text,$cacheFolder=null,$db='');
/**
* Очистить все ранее вложенные в письмо файлы
* $db Указатель на подключение в конфигурации
*/
c\mail::ClearAttachments($db='');
Для возможности тестировать отправку почты и получать уведомления на свой ящик, вместо отправки на обычный ящик - нужно указать свой ящик через метод
c\mail::test($address=null);
все последующие письма будут идти на ящик указанный внутри, оригинальный ящик будет добавлен к теме сообщения через скобки
Вы можете назначить событие которое будет отрабатывать каждый раз когда вы вызываете изменение состояния почты. Указывать его можно через глобальный параметр
Создано при помощи сервиса Core CMS