1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-02-23 22:42:38 +01:00

Merge pull request #84 from jiripetrek/feature-mail-handler

Add posibility to specify more address and custom headers in NativeMailerHandler
This commit is contained in:
Jordi Boggiano 2012-05-07 11:19:28 -07:00
commit 2eb0c0978d

View File

@ -22,21 +22,35 @@ class NativeMailerHandler extends MailHandler
{
protected $to;
protected $subject;
protected $headers;
protected $headers = array(
'Content-type: text/plain; charset=utf-8'
);
/**
* @param string $to The receiver of the mail
* @param string|array $to The receiver of the mail
* @param string $subject The subject of the mail
* @param string $from The sender of the mail
* @param integer $level The minimum logging level at which this handler will be triggered
* @param Boolean $bubble Whether the messages that are handled can bubble up the stack or not
* @param boolean $bubble Whether the messages that are handled can bubble up the stack or not
*/
public function __construct($to, $subject, $from, $level = Logger::ERROR, $bubble = true)
{
parent::__construct($level, $bubble);
$this->to = $to;
$this->to = is_array($to) ? $to : array($to);
$this->subject = $subject;
$this->headers = sprintf("From: %s\r\nContent-type: text/plain; charset=utf-8\r\n", $from);
$this->headers[] = sprintf('From: %s', $from);
}
/**
* @param string|array $header Custom added headers
*/
public function addHeader($headers)
{
if (is_array($headers)) {
$this->headers = array_merge($this->headers, $headers);
} else {
$this->headers[] = $headers;
}
}
/**
@ -44,6 +58,8 @@ class NativeMailerHandler extends MailHandler
*/
protected function send($content, array $records)
{
mail($this->to, $this->subject, wordwrap($content, 70), $this->headers);
foreach ($this->to as $to) {
mail($to, $this->subject, wordwrap($content, 70), implode("\r\n", $this->headers) . "\r\n");
}
}
}