Bladeren bron

Allow passing additional parameters to PHP's mail().

PHP's mail() function accepts an optional additional_parameters argument
which can be used to provide additional information, such as setting the
envelope sender, for some MTAs.  This patch allows the
NativeMailerHandler to pass these through.
Liam O'Boyle 11 jaren geleden
bovenliggende
commit
c373cfbc30
1 gewijzigde bestanden met toevoegingen van 20 en 1 verwijderingen
  1. 20 1
      src/Monolog/Handler/NativeMailerHandler.php

+ 20 - 1
src/Monolog/Handler/NativeMailerHandler.php

@@ -39,6 +39,12 @@ class NativeMailerHandler extends MailHandler
      */
     protected $headers = array();
 
+    /**
+     * Optional parameters for the message
+     * @var array
+     */
+    protected $parameters = array();
+
     /**
      * The wordwrap length for the message
      * @var integer
@@ -90,6 +96,19 @@ class NativeMailerHandler extends MailHandler
         }
     }
 
+    /**
+     * Add parameters to the message
+     *
+     * @param string|array $arguments Custom added parameters
+     * @return self
+     */
+    public function addParameter($parameters)
+    {
+        $this->parameters = array_merge($this->parameters, (array) $parameters);
+
+        return $this;
+    }
+
     /**
      * {@inheritdoc}
      */
@@ -102,7 +121,7 @@ class NativeMailerHandler extends MailHandler
             $headers .= 'MIME-Version: 1.0' . "\r\n";
         }
         foreach ($this->to as $to) {
-            mail($to, $this->subject, $content, $headers);
+            mail($to, $this->subject, $content, $headers, implode(' ', $this->parameters));
         }
     }