1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-12 08:04:02 +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 $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));
}
}
}