Класс EmailComponent
EmailComponent
Этот компонент используется для обработки сообщений электронной почты в формате Internet Message Format, основанном на стандарте, описанном в http://www.rfc-editor.org/rfc/rfc2822.txt
- CakeObject
-
Component
-
EmailComponent
Ссылка: https://book.cakephp.org/2.0/ru/core-libraries/components/email.html
Ссылка: https://book.cakephp.org/2.0/ru/core-utility-libraries/email.html
Устаревший: 3.0.0 Будет удалён в 3.0. Используйте Network/CakeEmail вместо этого
Авторские права: Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component/EmailComponent.php
Резюме свойств
- Ссылка на контроллер
$_controllerprotected -
$additionalParamspublicСписок дополнительных заголовковstring -
$attachmentspublicСписок файлов, которые должны быть прикреплены к сообщению электронной почты.array -
$bccpublicСкрытая копияarray -
$ccpublicКопияarray -
$charsetpublicКодировка символов почтыstring -
$datepublicstringДата для заголовка «Дата». Она должна соответствовать стандарту RFC2822. Оставьте null, чтобы генерировать сегодняшнюю дату.
-
$deliverypublicСпособ отправки почтыstring -
$filePathspublicСписок путей для поиска, если вложение не является абсолютнымarray -
$frompublicАдрес отправителя почтыstring -
$headerspublicarrayАссоциативный массив пользовательских заголовков. Ключи будут префикс «X-» в соответствии с RFC2822 раздел 4.7.5
-
$htmlMessagepublicСодержит отрендеренное HTML-сообщение, если оно было отправлено.string -
$layoutpublicМакет для представленияstring -
$lineFeedpublicstringСимвол(ы) новой строки, используемые при отправке с помощью функции mail(). По умолчанию используется PHP_EOL. RFC2822 требует CRLF, но некоторые агенты пересылки почты Unix автоматически заменяют LF на CRLF (что приводит к удвоению CR, если используется CRLF).
-
$messageIdpublicmixedНеобходимо ли генерировать заголовок Message-ID для электронного письма. True для генерации Message-ID, False — для обработки sendmail (или подобного) или строка для полной перезаписи Message-ID.
-
$readReceiptpublicЭлектронная почта с подтверждением чтенияstring -
$replyTopublicЭлектронная почта, на которую получатель будет отвечатьstring -
$returnpublicstringПочта, которая будет использоваться в случае ошибок, таких как: — удаленный почтовый сервер отключён — удалённый пользователь превысил лимит — неизвестный пользователь
-
$sendAspublicФормат, в котором должна отправляться почтаstring -
$smtpOptionspublicСписок параметров для использования метода smtp почтыarray -
$subjectpublicТема электронного письмаstring -
$templatepublicШаблон для представленияstring -
$textMessagepublicСодержит отрендеренное простое текстовое сообщение, если оно было отправлено.string -
$topublicПолучатель электронной почтыstring -
$xMailerpublicОтправитель EmailComponentstring
Наследованные свойства
Резюме методов
- __construct() publicКонструктор
- _findFiles() protectedНайти указанное вложение в списке путей к файлам
- _formatAddresses() protectedФорматировать адреса в массив с почтой в качестве ключа и алиасом в качестве значения
- _formatAttachFiles() protectedФорматировать массив вложений
- _strip() protected
Удалить определённые элементы (такие как bcc:, to:, %0a) из данного значения. Помогает предотвратить введение/манипулирование заголовками пользовательского содержимого.
- initialize() publicИнициализировать компонент
- reset() publicСбросить все внутренние переменные EmailComponent, чтобы отправить новое электронное письмо.
- send() publicОтправить электронное письмо с указанным содержимым, шаблоном и макетом
Детали метода
__construct()source public
__construct( ComponentCollection $collection , array $settings array() )
Конструктор
Параметры
-
ComponentCollection$collection - Коллекция компонентов, которые может использовать этот компонент для ленивой загрузки своих компонентов
- массив
$settingsнеобязательно array() - Массив параметров конфигурации.
Переопределяет
Component::__construct() _findFiles()source protected
_findFiles( string $attachment )
Найти указанное вложение в списке путей к файлам
Параметры
- строка
$attachment - Имя файла вложения для поиска
Возвращает
string|nullПуть к найденному файлу
_formatAddresses()source protected
_formatAddresses( array $addresses )
Форматировать адреса в массив с почтой в качестве ключа и алиасом в качестве значения
Параметры
- массив
$addresses - Адрес для форматирования.
Возвращает
массив_formatAttachFiles()source protected
_formatAttachFiles( )
Форматировать массив вложений
Возвращает
массив_strip()source protected
_strip( string $value , boolean $message false )
Удаляет определённые элементы (например, bcc:, to:, %0a) из заданного значения. Помогает предотвратить инъекцию заголовков/манипуляции с пользовательским контентом.
Параметры
- строка
$value - Значение для очистки
- логическое значение
$messageнеобязательно false - Установите в значение true, чтобы указать основное содержимое сообщения
Возвращает
строкаОчищенное значение
initialize()source public
initialize( Controller $controller )
Инициализировать компонент
Параметры
-
Controller$controller - Инициализируемый контроллер
Переопределяет
Component::initialize() reset()source public
reset( )
Сбросить все внутренние переменные EmailComponent, чтобы отправить новое письмо.
send()source public
send( string|array $content null , string $template null , string $layout null )
Отправить электронное письмо с указанным содержимым, шаблоном и макетом
Параметры
- строка|массив
$contentнеобязательно null Либо массив строк текста, либо строка с содержимым. Если вы используете шаблон, эта переменная будет передана шаблонам как
$content- строка
$templateнеобязательно null - Шаблон для использования при отправке письма
- строка
$layoutнеобязательно null - Макет для использования для оформления тела письма
Возвращает
логическое значениеУспех
Методы, унаследованные от Component
__get()source public
__get( string $name )
Магический метод для ленивой загрузки $components.
Параметры
- строка
$name - Имя компонента для получения.
Возвращает
смешанное значениеОбъект Component или null.
beforeRedirect()source public
beforeRedirect( Controller $controller , string|array $url , integer $status null , boolean $exit true )
Вызывается перед Controller::redirect(). Позволяет заменить URL, на который будет произведён переход, на новый URL. Возвращаемое значение этого метода может быть массивом или строкой.
Если возвращаемое значение является массивом и содержит ключ 'url'. Вы также можете указать следующее:
-
statusКод состояния для перенаправления -
exitНужно ли завершить скрипт после перенаправления.
Если ваш ответ является строкой или массивом, не содержащим ключа 'url', он будет использован в качестве нового URL для перенаправления.
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRedirect
- строка|массив
$url - Либо строка, либо массив URL, на который происходит перенаправление.
- целое число
$statusнеобязательно null - Код состояния перенаправления
- логическое значение
$exitнеобязательно true - Завершить ли выполнение скрипта?
Возвращает
массив|nullЛибо массив, либо null.
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRender()source public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), и перед загрузкой класса представления, и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами для beforeRender
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRendershutdown()source public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом в браузер.
Параметры
-
Controller$controller - Контроллер с компонентами для shutdown
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownstartup()source public
startup( Controller $controller )
Вызывается после Controller::beforeFilter() и перед действием контроллера
Параметры
-
Controller$controller - Контроллер с компонентами для startup
Ссылка
https://book.cakephp.org/2.0/ru/controllers/components.html#Component::startupМетоды, унаследованные от CakeObject
_mergeVars()source protected
_mergeVars( array $properties , string $class , boolean $normalize true )
Объединяет свойства $property этого объекта со свойством в определении $class. Значение этого класса для свойства будет объединено поверх $class’.
Это обеспечивает некоторую DRY-магию, предоставляемую CakePHP. Если вы хотите отключить её, переопределите этот метод как пустую функцию.
Параметры
- массив
$properties - Имя свойств для объединения.
- строка
$class - Класс для объединения свойства с.
- логическое значение
$normalizeнеобязательно true - Установите в значение true, чтобы выполнить свойства через Hash::normalize() перед объединением.
_set()source protected
_set( array $properties array() )
Позволяет установить несколько свойств объекта в одной строке кода. Будет устанавливать только свойства, которые являются частью объявления класса.
Параметры
- массив
$propertiesнеобязательно array() - Ассоциативный массив, содержащий свойства и соответствующие значения.
_stop()source protected
_stop( integer|string $status 0 )
Остановка выполнения текущего скрипта. Оборачивает exit(), что упрощает тестирование.
Параметры
- целое число|строка
$statusнеобязательно 0 - см. http://php.net/exit для значений
dispatchMethod()source public
dispatchMethod( string $method , array $params array() )
Вызывает метод этого объекта с заданными параметрами. Предоставляет OO-оболочку для call_user_func_array
Параметры
- строка
$method - Имя вызываемого метода
- массив
$paramsнеобязательно array() - Список параметров для использования при вызове $method
Возвращает
смешанное значениеВозвращает результат вызова метода
log()source public
log( string $msg , integer $type LOG_ERR , null|string|array $scope null )
Удобный метод для записи сообщения в CakeLog. См. CakeLog::write() для получения дополнительной информации о записи в лог.
Параметры
- строка
$msg - Сообщение лога
- целое число
$typeнеобязательно LOG_ERR - Константа типа ошибки. Определена в app/Config/core.php.
- null|строка|массив
$scopeнеобязательно null Область(и), в которой создаётся сообщение лога. См. CakeLog::config() для получения дополнительной информации о зонах логгирования.
Возвращает
логическое значениеУспех записи лога
requestAction()source public
requestAction( string|array $url , array $extra array() )
Вызывает метод контроллера из любой точки. Может использоваться для подключения контроллеров или интеграции плагинов в основное приложение. requestAction может возвращать отрисованный вид или значение возврата действия контроллера.
Внутри метод использует Router::reverse() для преобразования параметра $url в строку URL. Следует использовать форматы URL, совместимые с Router::reverse().
Передача данных POST и GET
Данные POST и GET можно имитировать в requestAction. Используйте $extra['url'] для данных GET. Параметр $extra['data'] позволяет имитировать данные POST.
Параметры
- string|array
$url URL в виде строки или массива. В отличие от других массивов URL в CakePHP, этот URL не будет автоматически обрабатывать переданные и именованные аргументы в параметре $url.
- array
$extraнеобязательный массив() если массив включает ключ "return", устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST, а также именованных и переданных аргументов.
Возвращаемое значение
mixedБулево значение true или false при успехе/неудаче, или содержимое отрисованного действия, если в $extra установлен ключ 'return'.
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределить этот метод по необходимости.
Возвращаемое значение
stringНазвание этого класса
Подробности свойств
$additionalParamssource
public string
Список дополнительных заголовков
Эти значения НЕ будут использованы, если вы используете режим safemode и функцию mail()
null
$attachmentssource
public array
Список файлов, которые должны быть прикреплены к письму.
Можно использовать как абсолютные, так и относительные пути
array()
$bccsource
public array
Скрытая копия (BCC)
Список адресов электронной почты, которые должны получить копию письма. Получатель НЕ увидит этот список.
array()
$ccsource
public array
Копия (CC)
Список адресов электронной почты, которые должны получить копию письма. Получатель УВИДИТ этот список.
array()
$datesource
public string
Дата для заголовка Date. Должна соответствовать стандарту RFC2822. Оставьте null, чтобы использовать текущую дату.
null
$deliverysource
public string
Метод отправки письма
Поддерживаемые методы: - mail - smtp - debug
'mail'
$filePathssource
public array
Список путей для поиска прикрепленных файлов, если путь относительный
array()
$headerssource
public array
Ассоциативный массив пользовательских заголовков. Ключи будут префикс'овать 'X-' в соответствии с RFC2822, раздел 4.7.5
array()
$htmlMessagesource
public string
Содержит отрисованное HTML-сообщение, если оно было отправлено.
null
$lineFeedsource
public string
Символ(ы) новой строки, используемый при отправке с помощью функции mail(). По умолчанию используется PHP_EOL. RFC2822 требует использования CRLF, но некоторые Unix-агенты передачи почты автоматически заменяют LF на CRLF (что приводит к удваиванию CR, если используется CRLF).
PHP_EOL
$messageIdsource
public mixed
Генерировать ли заголовок Message-ID для электронного письма. True для генерации, False для обработки sendmail (или аналогичным) или строка для полного переопределения Message-ID.
Если вы отправляете письмо из командной строки, убедитесь, что установили это значение. Так как могут возникнуть проблемы с доставкой, если вы этого не сделаете.
true
$returnsource
public string
Адрес электронной почты, который будет использоваться в случае ошибок, таких как: - Отдалённый почтовый сервер не работает - Пользователь превысил свой лимит - Неизвестный пользователь
null
$sendAssource
public string
Формат отправки письма
Поддерживаемые форматы: - text - html - both
'text'
$smtpOptionssource
public array
Список опций для метода smtp
Опции: - порт - хост - таймаут - имя пользователя - пароль - клиент
array()
$textMessagesource
public string
Содержит отрендеренное простое текстовое сообщение, если оно было отправлено.
null
$xMailersource
public string
Как EmailComponent должен идентифицировать себя у почтового сервера
'CakePHP Email Component'
© 2005–2017 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/2.10/class-EmailComponent.html