From 50a48feba36e6f8f46991092cb96b92f0c87f29e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Pet=C5=99ek?= Date: Mon, 7 May 2012 17:38:05 +0200 Subject: [PATCH] NativMailerHandler: can be specified more recipients and custom headers --- src/Monolog/Handler/NativeMailerHandler.php | 26 +++++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/Monolog/Handler/NativeMailerHandler.php b/src/Monolog/Handler/NativeMailerHandler.php index 6933ff6a..1797abda 100644 --- a/src/Monolog/Handler/NativeMailerHandler.php +++ b/src/Monolog/Handler/NativeMailerHandler.php @@ -22,10 +22,12 @@ 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 @@ -34,9 +36,21 @@ class NativeMailerHandler extends MailHandler 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 + */ + 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) { - 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)); + } } } \ No newline at end of file