CEmailLogRoute
| Пакет | system.logging |
|---|---|
| Наследование | class CEmailLogRoute » CLogRoute » CComponent |
| С версии | 1.0 |
| Исходный код | framework/logging/CEmailLogRoute.php |
CEmailLogRoute отправляет выбранные сообщения журнала на электронные адреса.
Целевые электронные адреса можно указать через свойство emails. По желанию, можно установить тему письма subject, адрес отправителя sentFrom и дополнительные headers.
Целевые электронные адреса можно указать через свойство emails. По желанию, можно установить тему письма subject, адрес отправителя sentFrom и дополнительные headers.
Свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| categories | mixed | массив категорий или список категорий, разделённый запятыми или пробелами. | CLogRoute |
| emails | array | список адресов назначения электронной почты | CEmailLogRoute |
| enabled | boolean | включить или отключить маршрут журнала. | CLogRoute |
| except | mixed | массив категорий или список категорий, разделённых запятыми или пробелами, которые НЕ будут включены в журналы. | CLogRoute |
| filter | mixed | дополнительный фильтр (например, CLogFilter), который можно применить к сообщениям журнала. | CLogRoute |
| headers | array | дополнительные заголовки для использования при отправке электронного письма. | CEmailLogRoute |
| levels | string | список уровней, разделённых запятыми или пробелами. | CLogRoute |
| logs | array | журналы, собранные до сих пор данным маршрутом журнала. | CLogRoute |
| sentFrom | string | адрес отправителя электронного письма | CEmailLogRoute |
| subject | string | тема электронного письма. | CEmailLogRoute |
| utf8 | boolean | установите это свойство в значение true, если данные журнала, которые вы собираетесь отправлять по электронной почте, содержат нелатинские или UTF-8 символы. | CEmailLogRoute |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | CComponent |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства null. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в значение null. | CComponent |
| asa() | Возвращает объект поведения с указанным именем. | CComponent |
| attachBehavior() | Прикрепляет поведение к компоненту. | CComponent |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | CComponent |
| attachEventHandler() | Прикрепляет обработчик событий к событию. | CComponent |
| canGetProperty() | Определяет, может ли свойство быть прочитано. | CComponent |
| canSetProperty() | Определяет, может ли свойство быть установлено. | CComponent |
| collectLogs() | Получает отфильтрованные сообщения журнала из логгера для дальнейшей обработки. | CLogRoute |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает прикреплённое поведение. | CComponent |
| disableBehaviors() | Отключает все прикреплённые к этому компоненту поведения. | CComponent |
| enableBehavior() | Включает прикреплённое поведение. | CComponent |
| enableBehaviors() | Включает все прикреплённые к этому компоненту поведения. | CComponent |
| evaluateExpression() | Вычисляет выражение PHP или обратный вызов в контексте этого компонента. | CComponent |
| getEmails() | Возвращает список адресов назначения электронной почты | CEmailLogRoute |
| getEventHandlers() | Возвращает список прикреплённых обработчиков событий для события. | CComponent |
| getHeaders() | Возвращает дополнительные заголовки для использования при отправке электронного письма. | CEmailLogRoute |
| getSentFrom() | Возвращает адрес отправителя электронного письма | CEmailLogRoute |
| getSubject() | Возвращает тему электронного письма. По умолчанию CEmailLogRoute::DEFAULT_SUBJECT | CEmailLogRoute |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли прикреплённые обработчики для указанного события. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | Инициализирует маршрут. | CLogRoute |
| raiseEvent() | Вызывает событие. | CComponent |
| setEmails() | Устанавливает список адресов назначения электронной почты. Если значение является строкой, предполагается, что это адреса электронной почты, разделённые запятыми. | CEmailLogRoute |
| setHeaders() | Устанавливает список дополнительных заголовков для использования при отправке электронного письма. Если значение является строкой, предполагается, что это заголовки, разделённые символами перевода строки. | CEmailLogRoute |
| setSentFrom() | Устанавливает адрес отправителя электронного письма | CEmailLogRoute |
| setSubject() | Устанавливает тему электронного письма. | CEmailLogRoute |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| formatLogMessage() | Форматирует сообщение журнала, учитывая различные поля. | CLogRoute |
| processLogs() | Отправляет сообщения журнала по указанным адресам электронной почты. | CEmailLogRoute |
| sendEmail() | Отправляет электронное письмо. | CEmailLogRoute |
Подробное описание свойств
emails свойство
public array getEmails()
public void setEmails(mixed $value)
список адресов электронной почты получателей
свойство headers (доступно начиная с версии v1.1.4)
public array getHeaders()
public void setHeaders(mixed $value)
дополнительные заголовки для использования при отправке электронного письма.
свойство sentFrom
public string getSentFrom()
public void setSentFrom(string $value)
адрес отправки электронного письма
свойство subject
public string getSubject()
public void setSubject(string $value)
тема электронного письма. По умолчанию CEmailLogRoute::DEFAULT_SUBJECT
свойство utf8 (доступно начиная с версии v1.1.13)
public boolean $utf8;
установите это свойство в значение true, если данные журнала, которые вы собираетесь отправлять по электронной почте, содержат символы, не относящиеся к латинице, или символы UTF-8. Электронные письма будут закодированы в UTF-8.
Подробное описание методов
getEmails() метод
public array getEmails() | ||
| {return} | массив | список адресов электронной почты получателей |
Исходный код: framework/logging/CEmailLogRoute.php#104 (показать)
public function getEmails()
{
return $this->_email;
}
getHeaders() метод (доступно начиная с v1.1.4)
public array getHeaders() | ||
| {return} | массив | дополнительные заголовки для использования при отправке электронного письма. |
Исходный код: framework/logging/CEmailLogRoute.php#157 (показать)
public function getHeaders()
{
return $this->_headers;
}
getSentFrom() метод
public string getSentFrom() | ||
| {return} | строка | адрес отправки электронного письма |
Исходный код: framework/logging/CEmailLogRoute.php#140 (показать)
public function getSentFrom()
{
return $this->_from;
}
getSubject() метод
public string getSubject() | ||
| {return} | строка | тема электронного письма. По умолчанию CEmailLogRoute::DEFAULT_SUBJECT |
Исходный код: framework/logging/CEmailLogRoute.php#124 (показать)
public function getSubject()
{
return $this->_subject;
}
processLogs() метод
protected void processLogs(array $logs) | ||
| $logs | массив | список сообщений журнала |
Исходный код: framework/logging/CEmailLogRoute.php#56 (показать)
protected function processLogs($logs)
{
$message='';
foreach($logs as $log)
$message.=$this->formatLogMessage($log[0],$log[1],$log[2],$log[3]);
$message=wordwrap($message,70);
$subject=$this->getSubject();
if($subject===null)
$subject=Yii::t('yii','Application Log');
foreach($this->getEmails() as $email)
$this->sendEmail($email,$subject,$message);
}
Отправляет сообщения журнала по указанным адресам электронной почты.
sendEmail() метод
protected void sendEmail(string $email, string $subject, string $message) | ||
| строка | один адрес электронной почты | |
| $subject | строка | тема электронного письма |
| $message | строка | содержимое электронного письма |
Исходный код: framework/logging/CEmailLogRoute.php#75 (показать)
protected function sendEmail($email,$subject,$message)
{
$headers=$this->getHeaders();
if($this->utf8)
{
$headers[]="MIME-Version: 1.0";
$headers[]="Content-Type: text/plain; charset=UTF-8";
$subject='=?UTF-8?B?'.base64_encode($subject).'?=';
}
if(($from=$this->getSentFrom())!==null)
{
$matches=array();
preg_match_all('/([^<]*)<([^>]*)>/iu',$from,$matches);
if(isset($matches[1][0],$matches[2][0]))
{
$name=$this->utf8 ? '=?UTF-8?B?'.base64_encode(trim($matches[1][0])).'?=' : trim($matches[1][0]);
$from=trim($matches[2][0]);
$headers[]="From: {$name} <{$from}>";
}
else
$headers[]="From: {$from}";
$headers[]="Reply-To: {$from}";
}
mail($email,$subject,$message,implode("\r\n",$headers));
}
Отправляет электронное письмо.
setEmails() метод
public void setEmails(mixed $value) | ||
| $value | смешанный | список адресов электронной почты получателей. Если значение является строкой, предполагается, что это адреса электронной почты, разделенные запятыми. |
Исходный код: framework/logging/CEmailLogRoute.php#113 (показать)
public function setEmails($value)
{
if(is_array($value))
$this->_email=$value;
else
$this->_email=preg_split('/[\s,]+/',$value,-1,PREG_SPLIT_NO_EMPTY);
}
setHeaders() метод (доступно начиная с v1.1.4)
public void setHeaders(mixed $value) | ||
| $value | смешанный | список дополнительных заголовков для использования при отправке электронного письма. Если значение является строкой, предполагается, что это заголовки, разделенные символом новой строки. |
Исходный код: framework/logging/CEmailLogRoute.php#167 (показать)
public function setHeaders($value)
{
if (is_array($value))
$this->_headers=$value;
else
$this->_headers=preg_split('/\r\n|\n/',$value,-1,PREG_SPLIT_NO_EMPTY);
}
setSentFrom() метод
public void setSentFrom(string $value) | ||
| $value | строка | адрес отправки электронного письма |
Исходный код: framework/logging/CEmailLogRoute.php#148 (показать)
public function setSentFrom($value)
{
$this->_from=$value;
}
setSubject() метод
public void setSubject(string $value) | ||
| $value | строка | тема электронного письма. |
Исходный код: framework/logging/CEmailLogRoute.php#132 (показать)
public function setSubject($value)
{
$this->_subject=$value;
}
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CEmailLogRoute