Функциональность электронной почты является наиболее востребованной функцией в веб-среде. FuelPHP предоставляет элегантный класс электронной почты в комплекте. Он используется для отправки простого простого текстового электронного письма, а также расширенного расширенного электронного письма с несколькими вложениями. Он поддерживает следующие функции — обычные текстовые сообщения, сообщения HTML, вложения и встроенные вложения.
конфигурация
Чтобы включить функцию электронной почты в приложении, нам нужно просто загрузить пакет электронной почты, как указано ниже в основном файле конфигурации, fuel / app / config / config.php.
'always_load' => array ( 'packages' => array ( 'email', ), ),
Другой вариант — загрузить почтовый пакет, сам контроллер следующим образом.
\Package::load('email');
Настройка электронной почты может быть выполнена в основном файле конфигурации, и некоторые из важных параметров следующие:
-
драйвер — драйвер электронной почты, такой как SMTP
-
is_html — отправлять почту как HTML-контент или нет
-
приоритет — приоритет электронной почты
-
smtp.host — хост SMTP-сервера
-
smtp.port — порт SMTP-сервера
-
smtp.username — имя пользователя SMTP-сервера
-
smtp.password — пароль SMTP-сервера
-
smtp.timeout — время ожидания SMTP
-
smtp.starttls — нужна ли SMTP-серверу команда STARTTLS
драйвер — драйвер электронной почты, такой как SMTP
is_html — отправлять почту как HTML-контент или нет
приоритет — приоритет электронной почты
smtp.host — хост SMTP-сервера
smtp.port — порт SMTP-сервера
smtp.username — имя пользователя SMTP-сервера
smtp.password — пароль SMTP-сервера
smtp.timeout — время ожидания SMTP
smtp.starttls — нужна ли SMTP-серверу команда STARTTLS
API электронной почты
Ниже приведены API, предоставляемые классом драйвера электронной почты и драйвера электронной почты.
ковать
Цель: создать экземпляр драйвера электронной почты. Он создает драйвер на основе конфигурации или входных данных, которые он получает. Драйвер электронной почты предоставляет функции для создания и отправки почты. Некоторые из возможных драйверов электронной почты: smtp, sendmail, mailgun и mandrill .
-
Параметр — Нет или массив деталей конфигурации
-
Returns — возвращает объект Email_Driver
Параметр — Нет или массив деталей конфигурации
Returns — возвращает объект Email_Driver
Например,
$email = \Email::forge(); $email = \Email::forge (array( 'driver' => 'smtp', ));
тело
-
Цель — установить тело сообщения
-
Параметр — $ body — тело сообщения
-
Returns — возвращает текущий экземпляр
Цель — установить тело сообщения
Параметр — $ body — тело сообщения
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email->body('Body message'); //or pass it a View $email->body(\View::forge('my/view', $data);
alt_body
-
Цель — установить альтернативное тело сообщения.
-
Параметр — $ alt_body — альтернативное тело сообщения
-
Returns — возвращает текущий экземпляр
Цель — установить альтернативное тело сообщения.
Параметр — $ alt_body — альтернативное тело сообщения
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email->alt_body('Body message'); //or pass it a View $email->alt_body(\View::forge('my/view', $data);
приоритет
-
Цель — установить приоритет почты
-
Параметр —
-
$ priority — значение приоритета. Варианты —
-
Цель — установить приоритет почты
Параметр —
$ priority — значение приоритета. Варианты —
a. \Email::P_LOWEST * \Email::P_LOW * \Email::P_NORMAL * \Email::P_HIGH * \Email::P_HIGHEST
-
Returns — возвращает текущий экземпляр
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email->priority(\Email::P_HIGHEST);
html_body
-
Цель — установить тело сообщения в формате HTML.
-
Параметр —
-
$ html — тело сообщения в HTML;
-
generate_alt — генерировать ли альтернативное сообщение;
-
auto_attach — вставлять изображение или нет
-
-
Returns — возвращает текущий экземпляр
Цель — установить тело сообщения в формате HTML.
Параметр —
$ html — тело сообщения в HTML;
generate_alt — генерировать ли альтернативное сообщение;
auto_attach — вставлять изображение или нет
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); // Do generate the alt body, but don't auto attach images. $email->html_body(\View::forge('welcome/email', $data), true, false);
от
-
Цель — установить адрес отправителя
-
Параметры —
-
$ from — с адреса электронной почты;
-
$ name — имя отправителя
-
-
Returns — возвращает текущий экземпляр
Цель — установить адрес отправителя
Параметры —
$ from — с адреса электронной почты;
$ name — имя отправителя
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email->from('[email protected]', 'My Name');
предмет
-
Цель — установить тему сообщения
-
Параметр — $ subject — тема сообщения электронной почты.
-
Returns — возвращает текущий экземпляр
Цель — установить тему сообщения
Параметр — $ subject — тема сообщения электронной почты.
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email->subject('Suject of the mail message');
в
-
Цель — установить адрес электронной почты получателя
-
Параметры —
-
$ email — адрес электронной почты или массив адресов электронной почты;
-
$ name — имя получателя
-
-
Returns — возвращает текущий экземпляр
Цель — установить адрес электронной почты получателя
Параметры —
$ email — адрес электронной почты или массив адресов электронной почты;
$ name — имя получателя
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email->to('[email protected]', 'My Dear Name'); $email->to (array( '[email protected]', '[email protected]' => 'My Dear friend', ));
заголовок
-
Цель — установить пользовательский заголовок для сообщения электронной почты
-
Параметры —
-
$ header — тип заголовка или массив заголовков;
-
$ value — значение заголовка
-
-
Returns — возвращает текущий экземпляр
Цель — установить пользовательский заголовок для сообщения электронной почты
Параметры —
$ header — тип заголовка или массив заголовков;
$ value — значение заголовка
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email->header('X-SMTPAP', 'XXXXXXXX'); $email>reply_to (array( 'X-SMTPAP' => 'XXXXXX', 'X-SMTPAP2' > 'XXXXXA', ));
прикреплять
-
Цель — прикрепить файл к сообщению электронной почты
-
Параметры —
-
$ file — путь к файлу;
-
$ inline — вложить файл или нет;
-
$ cid — идентификатор контента;
-
$ mime — MIME-тип файла вложения;
-
$ name — переопределение имени файла вложения
-
-
Returns — возвращает текущий экземпляр
Цель — прикрепить файл к сообщению электронной почты
Параметры —
$ file — путь к файлу;
$ inline — вложить файл или нет;
$ cid — идентификатор контента;
$ mime — MIME-тип файла вложения;
$ name — переопределение имени файла вложения
Returns — возвращает текущий экземпляр
Например,
$email = \Email::forge(); $email>attach(DOCROOT.'attachments/sample_attachment.pdf');
Отправить
-
Цель — отправить письмо.
-
Параметр —
-
$ validate — подтверждать ли адреса электронной почты
-
-
Возвращает — истина или ложь
Цель — отправить письмо.
Параметр —
$ validate — подтверждать ли адреса электронной почты
Возвращает — истина или ложь
Например,
$email = \Email::forge(); try{ $email->send(); } catch(\EmailSendingFailedException $e) { // The driver could not send the mail. } catch(\EmailValidationFailedException $e) { // One or more email addresses failed validation. }
Рабочий образец электронной почты
Давайте используем API, изученный в предыдущей главе, и создадим простой код для отправки сообщения. Ниже приведен самый простой код для отправки сообщения.