Spec-Zone.ru › Yii 1.1

CEmailLogRoute

Пакет system.logging
Наследование class CEmailLogRoute » CLogRoute » CComponent
С версии 1.0
Исходный код framework/logging/CEmailLogRoute.php
CEmailLogRoute отправляет выбранные сообщения журнала на электронные адреса.

Целевые электронные адреса можно указать через свойство 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)
$email строка один адрес электронной почты
$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

Spec-Zone.ru

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