Абстрактный класс yii\mail\BaseMailer
| Наследование | yii\mail\BaseMailer » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable, yii\base\ViewContextInterface, yii\mail\MailerInterface |
| Подклассы | yii\swiftmailer\Mailer |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/mail/BaseMailer.php |
BaseMailer служит базовым классом, реализующим основные функции, необходимые для yii\mail\MailerInterface.
Конкретные дочерние классы должны сфокусироваться на реализации метода sendMessage().
См. также yii\mail\BaseMessage. Для получения более подробной информации и использования BaseMailer, см. статью руководства по отправке почты.
Публичные свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| $behaviors | yii\base\Behavior[] | Список поведений, прикрепленных к этому компоненту | yii\base\Component |
| $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 | Имя класса по умолчанию новых экземпляров сообщений, создаваемых методом createMessage(). | yii\mail\BaseMailer |
| $messageConfig | array | Настройка, которая должна быть применена к любому создаваемому экземпляру сообщения электронного письма методом createMessage() или compose(). | yii\mail\BaseMailer |
| $textLayout | string|boolean | Имя представления текстового макета. | yii\mail\BaseMailer |
| $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 |
| 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 |
| setView() | yii\mail\BaseMailer | |
| setViewPath() | yii\mail\BaseMailer | |
| trigger() | Вызывает событие. | yii\base\Component |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| createMessage() | Создает новый экземпляр сообщения. | yii\mail\BaseMailer |
| createView() | Создает экземпляр представления из заданной конфигурации. | yii\mail\BaseMailer |
| saveMessage() | Сохраняет сообщение в файл по пути $fileTransportPath. | yii\mail\BaseMailer |
| sendMessage() | Отправляет указанное сообщение. | yii\mail\BaseMailer |
События
| Событие | Тип | Описание | Определено в |
|---|---|---|---|
| EVENT_AFTER_SEND | yii\mail\MailEvent | Событие, поднимаемое сразу после отправки. | yii\mail\BaseMailer |
| EVENT_BEFORE_SEND | yii\mail\MailEvent | Событие, поднимаемое непосредственно перед отправкой. | yii\mail\BaseMailer |
Подробное описание свойств
$fileTransportCallback общественное свойство
Обратный вызов PHP, который будет вызван send(), когда $useFileTransport имеет значение true. Обратный вызов должен вернуть имя файла, которое будет использоваться для сохранения электронного сообщения. Если не задано, имя файла будет сгенерировано на основе текущего отметки времени.
Подпись обратного вызова:
function ($mailer, $message)
public callable $fileTransportCallback = null
$fileTransportPath общественное свойство
Директория, в которой сохраняются электронные сообщения, когда $useFileTransport имеет значение true.
public string $fileTransportPath = '@runtime/mail'
$htmlLayout общественное свойство
Имя представления макета HTML. Это макет, используемый для рендеринга HTML тела почты. Свойство может принимать следующие значения:
- относительное имя представления: файл представления, относительный к $viewPath, например, 'layouts/html'.
- псевдоним пути: абсолютный путь к файлу представления, указанный как псевдоним пути, например, '@app/mail/html'.
- булево значение false: макет отключен.
public string|boolean $htmlLayout = 'layouts/html'
$messageClass общественное свойство
Имя по умолчанию класса нового экземпляра сообщения, создаваемого createMessage()
public string $messageClass = 'yii\mail\BaseMessage'
$messageConfig общественное свойство
Настройка, которая должна применяться к любому новому экземпляру сообщения электронной почты, созданному методом createMessage() или compose(). Можно настроить любые допустимые свойства, определённые в yii\mail\MessageInterface, такие как from, to, subject, textBody, htmlBody, и т. д.
Например:
[
'charset' => 'UTF-8',
'from' => 'noreply@mydomain.com',
'bcc' => 'developer@mydomain.com',
]
public array $messageConfig = []
$textLayout общественное свойство
Имя представления макета текста. Это макет, используемый для рендеринга текстового тела сообщения электронной почты. Обратитесь к $htmlLayout для возможных значений этого свойства.
public string|boolean $textLayout = 'layouts/text'
$useFileTransport общественное свойство
Указывает, нужно ли сохранять сообщения электронной почты в виде файлов в каталоге $fileTransportPath, вместо отправки их реальным получателям. Это обычно используется во время разработки для отладки.
См. также $fileTransportPath.
public boolean $useFileTransport = false
$view общественное свойство
Экземпляр представления или его конфигурация в виде массива, которые будут использоваться для рендеринга тел сообщений.
public yii\web\View getView ( )
public void setView ( $view )
$viewPath общественное свойство
Каталог, содержащий файлы представлений для составления сообщений электронной почты. По умолчанию равен '@app/mail'.
public string getViewPath ( )
public void setViewPath ( $path )
Подробное описание методов
afterSend() public method
Этот метод вызывается сразу после отправки письма.
Вы можете переопределить этот метод, чтобы выполнить некоторую пост-обработку или ведение журнала на основе статуса отправки письма. Если вы переопределите этот метод, убедитесь, что вы сначала вызываете родительскую реализацию.
| public void afterSend ( $message, $isSuccessful ) | ||
|---|---|---|
| $message | yii\mail\MessageInterface | |
| $isSuccessful | boolean | |
beforeSend() public method
Этот метод вызывается непосредственно перед отправкой письма.
Вы можете переопределить этот метод, чтобы выполнить подготовку сообщения в последнюю минуту. Если вы переопределите этот метод, убедитесь, что вы сначала вызываете родительскую реализацию.
| public boolean beforeSend ( $message ) | ||
|---|---|---|
| $message | yii\mail\MessageInterface | |
| return | boolean |
Продолжать ли отправку электронного письма. |
compose() public method
Создаёт новую инстанцию сообщения и, по желанию, формирует его содержимое посредством рендеринга представления.
| public yii\mail\MessageInterface compose ( $view = null, array $params = [] ) | ||
|---|---|---|
| $view | string|array|null |
Представление, которое будет использоваться для рендеринга тела сообщения. Это может быть:
Представление, которое будет отображено, может быть указано в одном из следующих форматов:
|
| $params | array |
Параметры (парные значения-ключей), которые будут извлечены и доступны в файле представления. |
| return | yii\mail\MessageInterface |
Экземпляр сообщения. |
createMessage() protected method
Создаёт новый экземпляр сообщения.
Новво созданный экземпляр будет инициализирован конфигурацией, указанной в $messageConfig. Если конфигурация не указывает 'class', будет использован $messageClass как класс нового экземпляра сообщения.
| protected yii\mail\MessageInterface createMessage ( ) | ||
|---|---|---|
| return | yii\mail\MessageInterface |
Экземпляр сообщения. |
createView() protected method
Создаёт экземпляр представления из заданной конфигурации.
| protected yii\web\View createView ( array $config ) | ||
|---|---|---|
| $config | array |
Конфигурация представления. |
| return | yii\web\View |
Экземпляр представления. |
generateMessageFileName() public method
| public string generateMessageFileName ( ) | ||
|---|---|---|
| return | string |
Имя файла для сохранения сообщения, когда $useFileTransport имеет значение true. |
getView() public method
| public yii\web\View getView ( ) | ||
|---|---|---|
| return | yii\web\View |
Экземпляр представления. |
getViewPath() public method
| public string getViewPath ( ) | ||
|---|---|---|
| return | string |
Директория, содержащая файлы представлений для составления сообщений электронной почты. По умолчанию равна '@app/mail'. |
render() public method
Рендерит указанное представление с необязательными параметрами и макетом.
Представление будет рендериться с помощью компонента $view.
| public string render ( $view, $params = [], $layout = false ) | ||
|---|---|---|
| $view | string |
Имя представления или псевдоним пути файла представления. |
| $params | array |
Параметры (парные значения-ключей), которые будут извлечены и доступны в файле представления. |
| $layout | string|boolean |
Имя файла макета или псевдоним пути. Если false, макет не будет применён. |
| return | string |
Результат рендеринга. |
saveMessage() protected method
Сохраняет сообщение в виде файла в $fileTransportPath.
| protected boolean saveMessage ( $message ) | ||
|---|---|---|
| $message | yii\mail\MessageInterface | |
| return | boolean |
Успешно ли сохранено сообщение |
send() public method
Отправляет заданное электронное письмо.
Этот метод будет регистрировать сообщение об отправке электронного письма. Если $useFileTransport имеет значение true, он сохранит электронное письмо в виде файла в $fileTransportPath. В противном случае он вызовет sendMessage() для отправки электронного письма получателю(ям). Дочерние классы должны реализовать sendMessage() с фактической логикой отправки электронного письма.
| public boolean send ( $message ) | ||
|---|---|---|
| $message | yii\mail\MessageInterface |
Экземпляр электронного сообщения, которое нужно отправить |
| return | boolean |
Успешно ли отправлено сообщение |
sendMessage() protected abstract method
Отправляет указанное сообщение.
Этот метод должен быть реализован дочерними классами с фактической логикой отправки электронного письма.
| protected abstract boolean sendMessage ( $message ) | ||
|---|---|---|
| $message | yii\mail\MessageInterface |
Сообщение, которое нужно отправить |
| return | boolean |
Успешно ли отправлено сообщение |
sendMultiple() public method
Отправляет несколько сообщений одновременно.
Реализация по умолчанию просто многократно вызывает send(). Дочерние классы могут переопределить этот метод, чтобы реализовать более эффективный способ отправки нескольких сообщений.
| public integer sendMultiple ( array $messages ) | ||
|---|---|---|
| $messages | array |
Список электронных сообщений, которые нужно отправить. |
| return | integer |
Количество сообщений, которые были успешно отправлены. |
setView() public method
| public void setView ( $view ) | ||
|---|---|---|
| $view | массив|yii\web\View |
Экземпляр представления или его конфигурацию в виде массива, которые будут использованы для рендеринга тела сообщения. |
| throws | yii\base\InvalidConfigException |
при некорректном аргументе. |
setViewPath() public method
| public void setViewPath ( $path ) | ||
|---|---|---|
| $path | строка |
Директория, содержащая файлы представлений для составления сообщений электронной почты. Путь может быть абсолютным или псевдонимом пути. |
Подробности событий
EVENT_AFTER_SEND событие типа yii\mail\MailEvent
Событие, срабатывающее сразу после отправки.
EVENT_BEFORE_SEND событие типа yii\mail\MailEvent
Событие, срабатывающее непосредственно перед отправкой. Вы можете установить yii\mail\MailEvent::$isValid в false, чтобы отменить отправку.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-mail-basemailer.html