Класс EmailComponent
EmailComponent
Этот компонент используется для обработки формата интернет-сообщений, основанного на стандарте, описанном в http://www.rfc-editor.org/rfc/rfc2822.txt
- CakeObject
-
Component -
EmailComponent
Ссылка: http://book.cakephp.org/2.0/ru/core-libraries/components/email.html
Ссылка: http://book.cakephp.org/2.0/ru/core-utility-libraries/email.html
Устаревшее: 3.0.0 Будет удалено в 3.0. Используйте Network/CakeEmail вместо этого
Авторские права: Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Controller/Component/EmailComponent.php
Краткое описание свойств
- Ссылка на контроллер
$_controllerprotected -
$additionalParamspublicСписок дополнительных заголовковstring -
$attachmentspublicСписок файлов, которые должны быть прикреплены к электронному письму.array -
$bccpublicСкрытая копияarray -
$ccpublicКопияarray -
$charsetpublicКодировка, в которой отправляется электронное письмоstring -
$datepublicstringДата, которая должна быть добавлена в заголовок Date. Она должна соответствовать стандарту RFC2822. Оставьте null, чтобы использовать текущую дату.
-
$deliverypublicМетод отправки электронного письмаstring -
$filePathspublicСписок путей для поиска вложений, если путь к вложению не является абсолютнымarray -
$frompublicАдрес электронной почты отправителяstring -
$headerspublicarrayАссоциативный массив пользовательских заголовков. Ключи будут иметь префикс 'X-' согласно разделу 4.7.5 RFC2822.
-
$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Список параметров для метода smtparray -
$subjectpublicТема электронного письмаstring -
$templatepublicШаблон для представленияstring -
$textMessagepublicСодержит отрендеренный текстовый сообщение, если он был отправлен.string -
$topublicПолучатель электронного письмаstring -
$xMailerpublicИмя почтового клиента, которым EmailComponent будет идентифицироватьсяstring
Наследуемые свойства
Краткое описание методов
- __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 - Коллекция компонентов, которую этот компонент может использовать для ленивой загрузки своих компонентов
- array
$settingsoptional array() - Массив настроек конфигурации.
Переопределяет
Component::__construct() _findFiles()source protected
_findFiles( string $attachment )
Найти указанное вложение в списке путей к файлам
Параметры
- string
$attachment - Имя файла вложения для поиска
Возвращает
string|nullПуть к найденному файлу
_formatAddresses()source protected
_formatAddresses( array $addresses )
Форматировать адреса в массив, где ключ — электронная почта, а значение — псевдоним
Параметры
- array
$addresses - Адрес для форматирования.
Возвращает
array_formatAttachFiles()source protected
_formatAttachFiles( )
Форматировать массив вложений
Возвращает
array_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 - Имя компонента для получения.
Возвращает
смешанный типОбъект компонента или 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.
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRedirectbeforeRender()source public
beforeRender( Controller $controller )
Вызывается перед Controller::beforeRender(), и до загрузки класса представления, и перед Controller::render()
Параметры
-
Controller$controller - Контроллер с компонентами, для которых нужно выполнить beforeRender
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::beforeRendershutdown()source public
shutdown( Controller $controller )
Вызывается после Controller::render() и перед выводом данных в браузер.
Параметры
-
Controller$controller - Контроллер с компонентами, для которых нужно выполнить shutdown
Ссылка
http://book.cakephp.org/2.0/ru/controllers/components.html#Component::shutdownstartup()source public
startup( Controller $controller )
Вызывается после Controller::beforeFilter() и перед действием контроллера
Параметры
-
Controller$controller - Контроллер с компонентами, для которых нужно выполнить startup
Ссылка
http://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
$extraoptional array() Если массив содержит ключ "return", он устанавливает AutoRender в значение true. Также может использоваться для отправки данных GET/POST и именованных/переданных аргументов.
Возвращает
mixedЛогическое значение true или false при успехе/неудачи или содержимое рендеренного действия, если в $extra задан ключ "return".
toString()source public
toString( )
Преобразование CakeObject в строку. Каждый класс может переопределять этот метод по необходимости.
Возвращает
stringИмя этого класса
Подробности свойств
$additionalParamssource
public string
Список дополнительных заголовков
Эти значения НЕ будут использоваться, если вы используете режим защиты и функцию mail()
null
$attachmentssource
public array
Список файлов, которые должны быть прикреплены к электронному письму.
Может быть как абсолютными, так и относительными путями
array()
$bccsource
public array
Скрытая копия
Список электронных адресов, которые должны получить копию письма. Получатель НЕ сможет увидеть этот список.
array()
$ccsource
public array
Копия
Список электронных адресов, которые должны получить копию письма. Получатель СМОЖЕТ увидеть этот список.
array()
$datesource
public string
Дата, которая должна быть помещена в заголовок Date. Она должна соответствовать стандарту RFC2822. Оставьте null, чтобы была сгенерирована сегодняшняя дата.
null
$deliverysource
public string
Метод, который должен быть использован для отправки письма
Поддерживаемые методы: - mail - smtp - debug
'mail'
$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 для генерации Message-ID, False для обработки sendmail (или подобного) или строка для полного переопределения Message-ID.
Если вы отправляете письмо из командной строки, обязательно установите это значение. В противном случае могут возникнуть проблемы с доставкой.
true
$returnsource
public string
Адрес электронной почты, который будет использован в случае ошибок, таких как - Отдалённый почтовый сервер недоступен - Отдалённый пользователь превысил свой лимит - Неизвестный пользователь
null
$sendAssource
public string
Формат, в котором должно быть отправлено письмо
Поддерживаемые форматы: - text - html - both
'text'
$smtpOptionssource
public array
Список опций для метода smtp mail
Опции: - порт - хост - таймаут - имя пользователя - пароль - клиент
array()
$textMessagesource
public string
Содержит отрендеренное простое текстовое сообщение, если оно было отправлено.
null
$xMailersource
public string
Как EmailComponent должно себя идентифицировать
'CakePHP Email Component'
© 2005–2016 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.9/class-EmailComponent.html