Spec-Zone.ru › Yii 2.0

Абстрактный класс 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

Представление, которое будет использоваться для рендеринга тела сообщения. Это может быть:

  • строка, представляющая имя представления или псевдоним пути для рендеринга HTML-тела письма. В этом случае текстовое тело будет сгенерировано путём применения strip_tags() к HTML-телу.
  • массив с элементами 'html' и/или 'text'. Элемент 'html' относится к имени представления или псевдониму пути для рендеринга HTML-тела, а элемент 'text' — для рендеринга текстового тела. Например, ['html' => 'contact-html', 'text' => 'contact-text'].
  • null, что означает, что экземпляр сообщения будет возвращен без содержимого тела.

Представление, которое будет отображено, может быть указано в одном из следующих форматов:

  • псевдоним пути (например, "@app/mail/contact");
  • относительное имя представления (например, "contact"), расположенное в $viewPath.
$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

Spec-Zone.ru

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