Учебники

FuelPHP — Управление электронной почтой

Функциональность электронной почты является наиболее востребованной функцией в веб-среде. 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('test@test.com', '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('test@test.com', 'My Dear Name'); 
$email->to (array( 
   'test@test.com', 
   'test@test.com' => '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, изученный в предыдущей главе, и создадим простой код для отправки сообщения. Ниже приведен самый простой код для отправки сообщения.