diff --git a/src/Monolog/Handler/NativeMailerHandler.php b/src/Monolog/Handler/NativeMailerHandler.php index 6933ff6a..51873f40 100644 --- a/src/Monolog/Handler/NativeMailerHandler.php +++ b/src/Monolog/Handler/NativeMailerHandler.php @@ -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"); + } } } \ No newline at end of file