1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-14 09:04:15 +02:00

NativMailerHandler: can be specified more recipients and custom headers

This commit is contained in:
Jiří Petřek
2012-05-07 17:38:05 +02:00
parent a406763e71
commit 50a48feba3

View File

@@ -22,10 +22,12 @@ class NativeMailerHandler extends MailHandler
{ {
protected $to; protected $to;
protected $subject; 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 $subject The subject of the mail
* @param string $from The sender 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 integer $level The minimum logging level at which this handler will be triggered
@@ -34,9 +36,21 @@ class NativeMailerHandler extends MailHandler
public function __construct($to, $subject, $from, $level = Logger::ERROR, $bubble = true) public function __construct($to, $subject, $from, $level = Logger::ERROR, $bubble = true)
{ {
parent::__construct($level, $bubble); parent::__construct($level, $bubble);
$this->to = $to; $this->to = is_array($to) ? $to : array($to);
$this->subject = $subject; $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
*/
public function addHeader($header)
{
if (is_array($header)) {
$this->headers = array_merge($this->headers, $header);
} else {
$this->headers[] = $header;
}
} }
/** /**
@@ -44,6 +58,8 @@ class NativeMailerHandler extends MailHandler
*/ */
protected function send($content, array $records) 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));
}
} }
} }