Класс yii\swiftmailer\Mailer
| Наследование | yii\swiftmailer\Mailer » yii\mail\BaseMailer » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface, yii\mail\MailerInterface |
| Доступен с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-swiftmailer/blob/master/Mailer.php |
Mailer реализует почтовый клиент на основе SwiftMailer.
Для использования Mailer, необходимо настроить его в конфигурации приложения следующим образом:
[
'components' => [
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => 'localhost',
'username' => 'username',
'password' => 'password',
'port' => '587',
'encryption' => 'tls',
],
],
// ...
],
// ...
],
Вы также можете пропустить настройку свойства $transport. В этом случае для отправки писем будет использована стандартная функция PHP mail() .
Вы можете указать аргументы конструктора для транспорта, используя ключ 'constructArgs' в конфигурации. Вы также можете указать список плагинов, которые должны быть зарегистрированы для транспорта, используя ключ 'plugins'. Например:
'transport' => [
'class' => 'Swift_SmtpTransport',
'constructArgs' => ['localhost', 25]
'plugins' => [
[
'class' => 'Swift_Plugins_ThrottlerPlugin',
'constructArgs' => [20],
],
],
],
Для отправки письма, можно использовать следующий код:
Yii::$app->mailer->compose('contact/html', ['contactForm' => $form])
->setFrom('from@domain.com')
->setTo($form->email)
->setSubject($form->subject)
->send();
См. также http://swiftmailer.org.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список присоединённых к этому компоненту поведений | yii\base\Component |
| $enableSwiftMailerLogging | boolean | Включить запись внутренних логов SwiftMailer с использованием механизма логирования Yii. | yii\swiftmailer\Mailer |
| $fileTransportCallback | callable | Обратный вызов PHP, который будет вызван методом send(), когда $useFileTransport имеет значение true. | yii\mail\BaseMailer |
| $fileTransportPath | string | Директория, в которой сохраняются сообщения электронной почты, когда $useFileTransport имеет значение true. | yii\mail\BaseMailer |
| $htmlLayout | string|boolean | Имя представления HTML макета. | yii\mail\BaseMailer |
| $messageClass | string | Имя по умолчанию класса сообщения. | yii\swiftmailer\Mailer |
| $messageConfig | array | Конфигурация, которая должна быть применена к любому экземпляру сообщения электронной почты, созданному методом createMessage() или compose(). | yii\mail\BaseMailer |
| $swiftMailer | array|\Swift_Mailer | Экземпляр SwiftMailer или конфигурация в виде массива. | yii\swiftmailer\Mailer |
| $textLayout | string|boolean | Имя представления текстового макета. | yii\mail\BaseMailer |
| $transport | array|\Swift_Transport | yii\swiftmailer\Mailer | |
| $useFileTransport | boolean | Сохранять сообщения электронной почты в виде файлов в $fileTransportPath вместо отправки их реальным получателям. | yii\mail\BaseMailer |
| $view | array|yii\web\View | Экземпляр представления или его конфигурация в виде массива, которые будут использоваться для рендеринга тел сообщений. | yii\mail\BaseMailer |
| $viewPath | string | Директория, содержащая файлы представлений для составления сообщений электронной почты. По умолчанию – '@app/mail'. | yii\mail\BaseMailer |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путем клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в null. | yii\base\Component |
| afterSend() | Этот метод вызывается сразу после отправки письма. | yii\mail\BaseMailer |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| beforeSend() | Этот метод вызывается непосредственно перед отправкой письма. | yii\mail\BaseMailer |
| behaviors() | Возвращает список поведений, которые должен иметь этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли прочитать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное квалифицированное имя этого класса. | yii\base\Object |
| compose() | Создает новый экземпляр сообщения и, по желанию, формирует его содержимое тела с помощью рендеринга представления. | yii\mail\BaseMailer |
| detachBehavior() | Отсоединяет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Отсоединяет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| generateMessageFileName() | yii\mail\BaseMailer | |
| getBehavior() | Возвращает объект именованного поведения. | yii\base\Component |
| getBehaviors() | Возвращает все прикрепленные к этому компоненту поведения. | yii\base\Component |
| getSwiftMailer() | yii\swiftmailer\Mailer | |
| getTransport() | yii\swiftmailer\Mailer | |
| getView() | yii\mail\BaseMailer | |
| getViewPath() | yii\mail\BaseMailer | |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли какой-либо обработчик, прикрепленный к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Отсоединяет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| render() | Отображает указанное представление с необязательными параметрами и макетом. | yii\mail\BaseMailer |
| send() | Отправляет указанное электронное письмо. | yii\mail\BaseMailer |
| sendMultiple() | Отправляет несколько сообщений одновременно. | yii\mail\BaseMailer |
| setTransport() | yii\swiftmailer\Mailer | |
| setView() | yii\mail\BaseMailer | |
| setViewPath() | yii\mail\BaseMailer | |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| createMessage() | Создает новый экземпляр сообщения. | yii\mail\BaseMailer |
| createSwiftMailer() | Создает экземпляр Swift почтового клиента. | yii\swiftmailer\Mailer |
| createSwiftObject() | Создает объект Swift библиотеки из заданной конфигурации массива. | yii\swiftmailer\Mailer |
| createTransport() | Создает экземпляр транспортного средства электронной почты по его конфигурации массива. | yii\swiftmailer\Mailer |
| createView() | Создает экземпляр представления из заданной конфигурации. | yii\mail\BaseMailer |
| saveMessage() | Сохраняет сообщение как файл в $fileTransportPath. | yii\mail\BaseMailer |
| sendMessage() | Отправляет указанное сообщение. | yii\swiftmailer\Mailer |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_SEND | yii\mail\MailEvent | Событие, поднимаемое сразу после отправки. | yii\mail\BaseMailer |
| EVENT_BEFORE_SEND | yii\mail\MailEvent | Событие, поднимаемое непосредственно перед отправкой. | yii\mail\BaseMailer |
Подробности свойств
$enableSwiftMailerLogging публичное свойство (доступно с версии 2.0.4)
Включить запись внутренних журналов SwiftMailer с помощью механизма Yii логирования. При включении, плагин yii\swiftmailer\Logger будет присоединен к $transport для этой цели.
См. также yii\swiftmailer\Logger.
public boolean $enableSwiftMailerLogging = false
$messageClass общедоступное свойство
Имя по умолчанию класса сообщения.
public string $messageClass = 'yii\swiftmailer\Message'
$swiftMailer общедоступное только для чтения свойство
Экземпляр или конфигурационный массив Swift mailer.
public array|\Swift_Mailer getSwiftMailer ( )
$transport общедоступное свойство
public array|\Swift_Transport getTransport ( )
public void setTransport ( $transport )
Подробное описание методов
createSwiftMailer() защищённый метод
Создаёт экземпляр Swift mailer.
| защищённый \Swift_Mailer createSwiftMailer ( ) | ||
|---|---|---|
| возвращает | \Swift_Mailer |
Экземпляр почтового клиента. |
createSwiftObject() защищённый метод
Создаёт объект Swift библиотеки из заданной конфигурации массива.
| защищённый Объект createSwiftObject ( массив $config ) | ||
|---|---|---|
| $config | массив |
Конфигурация объекта |
| возвращает | Объект |
Созданный объект |
| выбрасывает | yii\base\InvalidConfigException |
при неверной конфигурации. |
createTransport() защищённый метод
Создаёт экземпляр транспортёра электронной почты по заданной конфигурации массива.
| защищённый \Swift_Transport createTransport ( массив $config ) | ||
|---|---|---|
| $config | массив |
Конфигурация транспортёра. |
| возвращает | \Swift_Transport |
Экземпляр транспортёра. |
| выбрасывает | yii\base\InvalidConfigException |
при неверной конфигурации транспортёра. |
getSwiftMailer() общедоступный метод
| общедоступный массив|\Swift_Mailer getSwiftMailer ( ) | ||
|---|---|---|
| возвращает | массив|\Swift_Mailer |
Экземпляр или конфигурационный массив Swift mailer. |
getTransport() общедоступный метод
| общедоступный массив|\Swift_Transport getTransport ( ) |
|---|
sendMessage() защищённый метод
Отправляет указанное сообщение.
Этот метод должен быть реализован дочерними классами с фактической логикой отправки электронной почты.
| защищённый логический sendMessage ( $message ) | ||
|---|---|---|
| $message | yii\mail\MessageInterface |
Сообщение для отправки |
| возвращает | логический |
Указывает, успешно ли отправлено сообщение |
setTransport() общедоступный метод
| общедоступный void setTransport ( $transport ) | ||
|---|---|---|
| $transport | массив|\Swift_Transport | |
| выбрасывает | yii\base\InvalidConfigException |
при неверном аргументе. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-swiftmailer-mailer.html