Spec-Zone.ru › Yii 2.0

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API