Класс SmtpTransport
Отправка почты с использованием протокола SMTP
Краткое описание свойств
- $_config protected
array<string, mixed>Конфигурация во время выполнения
- $_configInitialized protected
boolУстановлено ли свойство конфигурации с настройками по умолчанию
- $_content protected
arrayСодержимое электронного письма для возврата
- $_defaultConfig protected
array<string, mixed>Конфигурация по умолчанию для этого класса
- $_lastResponse protected
arrayОтвет последней отправленной команды SMTP.
- $_socket protected
Cake\Network\Socket|nullСокет для SMTP-сервера
Краткое описание методов
-
__construct() public
Конструктор
-
__destruct() public
Деструктор
-
__wakeup() public
Обработчик десериализации.
-
_auth() protected
Отправка аутентификации
-
_authLogin() protected
Аутентификация с помощью механизма AUTH LOGIN.
-
_authPlain() protected
Аутентификация с помощью механизма AUTH PLAIN.
-
_bufferResponseLines() protected
Парсит и сохраняет строки ответа в формате
'code' => 'message'. -
_configDelete() protected
Удаляет один ключ конфигурации.
-
_configRead() protected
Читает значение ключа конфигурации.
-
_configWrite() protected
Записывает значение ключа конфигурации.
-
_connect() protected
Подключение к SMTP-серверу
-
_disconnect() protected
Отключение
-
_generateSocket() protected
Вспомогательный метод для создания сокета
-
_prepareFromAddress() protected
Подготавливает адрес электронной почты
from. -
_prepareFromCmd() protected
Подготавливает команду SMTP
MAIL FROM. -
_prepareMessage() protected
Подготавливает тело сообщения.
-
_prepareRcptCmd() protected
Подготавливает команду SMTP
RCPT TO. -
_prepareRecipientAddresses() protected
Подготавливает адреса получателей электронной почты.
-
_sendData() protected
Отправка данных
-
_sendRcpt() protected
Отправка писем
-
_smtpSend() protected
Защищенный метод для отправки данных по SMTP-соединению
-
_socket() protected
Получить экземпляр сокета.
-
checkRecipient() protected
Проверяет, что установлен хотя бы один адрес получателя.
-
configShallow() public
Объединяет предоставленную конфигурацию с существующей конфигурацией. В отличие от
config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение. -
connect() public
Подключение к SMTP-серверу.
-
connected() public
Проверка доступности открытого соединения с SMTP-сервером.
-
disconnect() public
Отключение от SMTP-сервера.
-
getConfig() public
Возвращает конфигурацию.
-
getConfigOrFail() public
Возвращает конфигурацию для указанного ключа.
-
getLastResponse() public
Возвращает ответ последней отправленной команды SMTP.
-
send() public
Отправка почты
-
setConfig() public
Устанавливает конфигурацию.
Подробное описание методов
__construct() public
__construct(array<string, mixed> $config = [])
Конструктор
Параметры
-
array<string, mixed>$config optional Настройки.
__destruct() public
__destruct()
Деструктор
Пытается отключиться, чтобы гарантировать, что соединение завершается должным образом перед закрытием сокета.
__wakeup() public
__wakeup(): void
Обработчик десериализации.
Убедитесь, что свойство сокета не инициализируется в неисправном состоянии.
Возвращает
void_auth() protected
_auth(): void
Отправка аутентификации
Возвращает
voidВыбрасывает
Cake\Network\Exception\SocketException_authLogin() protected
_authLogin(string $username, string $password): void
Аутентификация с использованием механизма AUTH LOGIN.
Параметры
-
string$username Имя пользователя.
-
string$password Пароль.
Возвращает
void_authPlain() protected
_authPlain(string $username, string $password): string|null
Аутентификация с использованием механизма AUTH PLAIN.
Параметры
-
string$username Имя пользователя.
-
string$password Пароль.
Возвращает
string|null_bufferResponseLines() protected
_bufferResponseLines(array<string> $responseLines): void
Парсит и сохраняет строки ответа в формате 'code' => 'message'.
Параметры
-
array<string>$responseLines Строки ответа для парсинга.
Возвращает
void_configDelete() protected
_configDelete(string $key): void
Удаляет единственный ключ конфигурации.
Параметры
-
string$key Ключ для удаления.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionесли пытаетесь перезаписать существующую конфигурацию
_configRead() protected
_configRead(string|null $key): mixed
Читает ключ конфигурации.
Параметры
-
string|null$key Ключ для чтения.
Возвращает
mixed_configWrite() protected
_configWrite(array<string, mixed>|string $key, mixed $value, string|bool $merge = false): void
Записывает ключ конфигурации.
Параметры
-
array<string, mixed>|string$key Ключ, в который записывается.
-
mixed$value Значение для записи.
-
string|bool$merge optional Истина для рекурсивного слияния, «shallow» для простого слияния, ложь для перезаписи, по умолчанию ложь.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionесли пытаетесь перезаписать существующую конфигурацию
_connect() protected
_connect(): void
Подключение к SMTP-серверу
Возвращает
voidВыбрасывает
Cake\Network\Exception\SocketException_disconnect() protected
_disconnect(): void
Отключение
Возвращает
voidВыбрасывает
Cake\Network\Exception\SocketException_generateSocket() protected
_generateSocket(): void
Вспомогательный метод для создания сокета
Возвращает
voidВыбрасывает
Cake\Network\Exception\SocketException_prepareFromAddress() protected
_prepareFromAddress(Cake\Mailer\Message $message): array
Подготавливает адрес электронной почты отправителя.
Параметры
-
Cake\Mailer\Message$message Экземпляр сообщения
Возвращает
array_prepareFromCmd() protected
_prepareFromCmd(string $message): string
Подготавливает SMTP-команду отправителя.
Параметры
-
string$message Адрес электронной почты для отправки с командой.
Возвращает
string_prepareMessage() protected
_prepareMessage(Cake\Mailer\Message $message): string
Подготавливает тело сообщения.
Параметры
-
Cake\Mailer\Message$message Экземпляр сообщения
Возвращает
string_prepareRcptCmd() protected
_prepareRcptCmd(string $message): string
Подготавливает SMTP-команду получателя.
Параметры
-
string$message Адрес электронной почты для отправки с командой.
Возвращает
string_prepareRecipientAddresses() protected
_prepareRecipientAddresses(Cake\Mailer\Message $message): array
Подготавливает адреса получателей электронной почты.
Параметры
-
Cake\Mailer\Message$message Экземпляр сообщения
Возвращает
array_sendData() protected
_sendData(Cake\Mailer\Message $message): void
Отправка данных
Параметры
-
Cake\Mailer\Message$message Сообщение
Возвращает
voidВыбрасывает
Cake\Network\Exception\SocketException_sendRcpt() protected
_sendRcpt(Cake\Mailer\Message $message): void
Отправка писем
Параметры
-
Cake\Mailer\Message$message Сообщение
Возвращает
voidВыбрасывает
Cake\Network\Exception\SocketException_smtpSend() protected
_smtpSend(string|null $data, string|false $checkCode = '250'): string|null
Защищенный метод для отправки данных по SMTP-соединению
Параметры
-
string|null$data Данные для отправки на SMTP-сервер
-
string|false$checkCode optional Код для проверки в ответе сервера, ложь для пропуска
Возвращает
string|nullВыбрасывает
Cake\Network\Exception\SocketException_socket() protected
_socket(): Cake\Network\Socket
Получить экземпляр сокета.
Возвращает
Cake\Network\SocketВыбрасывает
RuntimeExceptionЕсли сокет не установлен.
checkRecipient() protected
checkRecipient(Cake\Mailer\Message $message): void
Проверка наличия хотя бы одного адреса получателя.
Параметры
-
Cake\Mailer\Message$message Экземпляр сообщения.
Возвращает
voidВыбрасывает
Cake\Core\Exception\CakeExceptionЕсли ни to, ни cc, ни bcc не указаны.
configShallow() public
configShallow(array<string, mixed>|string $key, mixed|null $value = null): $this
Объединить предоставленный конфиг с существующим. В отличие от config(), который выполняет рекурсивное объединение для вложенных ключей, этот метод выполняет простое объединение.
Установка определённого значения:
$this->configShallow('key', $value); Установка вложенного значения:
$this->configShallow('some.nested.key', $value); Обновление нескольких настроек конфига одновременно:
$this->configShallow(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигов.
-
mixed|null$value optional Значение для установки.
Возвращает
$thisconnect() public
connect(): void
Подключение к SMTP-серверу.
Этот метод пытается подключиться только в случае, если открытое подключение ещё не существует.
Возвращает
voidconnected() public
connected(): bool
Проверка наличия открытого подключения к SMTP-серверу.
Возвращает
booldisconnect() public
disconnect(): void
Отключение от SMTP-сервера.
Этот метод пытается отключиться только в случае, если открытое подключение существует.
Возвращает
voidgetConfig() public
getConfig(string|null $key = null, mixed $default = null): mixed
Возвращает конфиг.
Использование
Чтение всего конфига:
$this->getConfig();
Чтение определённого значения:
$this->getConfig('key'); Чтение вложенного значения:
$this->getConfig('some.nested.key'); Чтение со значением по умолчанию:
$this->getConfig('some-key', 'default-value'); Параметры
-
string|null$key optional Ключ для получения или null для всего конфига.
-
mixed$default optional Возвращаемое значение, когда ключ не существует.
Возвращает
mixedgetConfigOrFail() public
getConfigOrFail(string $key): mixed
Возвращает конфиг для данного ключа.
Значение конфига для данного ключа должно существовать, оно никогда не может быть null.
Параметры
-
string$key Ключ для получения.
Возвращает
mixedИсключения
InvalidArgumentExceptiongetLastResponse() public
getLastResponse(): array
Возвращает ответ последней отправленной SMTP-команды.
Ответ состоит из одной или нескольких строк, содержащих код ответа и необязательный текст сообщения ответа:
[
[
'code' => '250',
'message' => 'mail.example.com'
],
[
'code' => '250',
'message' => 'PIPELINING'
],
[
'code' => '250',
'message' => '8BITMIME'
],
// etc...
] Возвращает
arraysend() public
send(Cake\Mailer\Message $message): array
Отправка почты
Параметры
-
Cake\Mailer\Message$message Экземпляр сообщения
Возвращает
arrayИсключения
Cake\Network\Exception\SocketExceptionsetConfig() public
setConfig(array<string, mixed>|string $key, mixed|null $value = null, bool $merge = true): $this
Устанавливает конфиг.
Использование
Установка определённого значения:
$this->setConfig('key', $value); Установка вложенного значения:
$this->setConfig('some.nested.key', $value); Обновление нескольких настроек конфига одновременно:
$this->setConfig(['one' => 'value', 'another' => 'value']);
Параметры
-
array<string, mixed>|string$key Ключ для установки или полный массив конфигов.
-
mixed|null$value optional Значение для установки.
-
bool$merge optional Рекурсивное объединение или перезапись существующего конфига, по умолчанию true.
Возвращает
$thisИсключения
Cake\Core\Exception\CakeExceptionПри попытке установить недопустимый ключ.
Подробное описание свойств
$_config protected
Конфиг во время выполнения
Тип
array<string, mixed>$_configInitialized protected
Настроено ли свойство конфига значениями по умолчанию
Тип
bool$_content protected
Содержимое письма для возврата
Тип
array$_defaultConfig protected
Конфиг по умолчанию для этого класса
Тип
array<string, mixed>$_lastResponse protected
Ответ последней отправленной SMTP-команды.
Тип
array$_socket protected
Сокет для SMTP-сервера
Тип
Cake\Network\Socket|null
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.3/class-Cake.Mailer.Transport.SmtpTransport.html