|
|
@@ -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");
|
|
|
+ }
|
|
|
}
|
|
|
}
|