1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-08 06:06:40 +02: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

View File

@@ -22,21 +22,35 @@ 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
* @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) 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 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) 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");
}
} }
} }