Example #1
0
File: Smtp.php Project: rexmac/zf2
 /**
  * Format and fix headers
  *
  * Some SMTP servers do not strip BCC headers. Most clients do it themselves as do we.
  *
  * @access  protected
  * @param   array $headers
  * @return  void
  * @throws  \Zend\Transport\Exception
  */
 protected function _prepareHeaders($headers)
 {
     if (!$this->_mail) {
         throw new Exception\RuntimeException('_prepareHeaders requires a registered \\Zend\\Mail\\Mail object');
     }
     unset($headers['Bcc']);
     // Prepare headers
     parent::_prepareHeaders($headers);
 }
Example #2
0
 /**
  * Format and fix headers
  *
  * mail() uses its $to and $subject arguments to set the To: and Subject:
  * headers, respectively. This method strips those out as a sanity check to
  * prevent duplicate header entries.
  *
  * @access  protected
  * @param   array $headers
  * @return  void
  * @throws  \Zend\Mail\Transport\Exception
  */
 protected function _prepareHeaders($headers)
 {
     if (!$this->_mail) {
         throw new Exception\RuntimeException('_prepareHeaders requires a registered \\Zend\\Mail\\Mail object');
     }
     // mail() uses its $to parameter to set the To: header, and the $subject
     // parameter to set the Subject: header. We need to strip them out.
     if (0 === strpos(PHP_OS, 'WIN')) {
         // If the current recipients list is empty, throw an error
         if (empty($this->recipients)) {
             throw new Exception\RuntimeException('Missing To addresses');
         }
     } else {
         // All others, simply grab the recipients and unset the To: header
         if (!isset($headers['To'])) {
             throw new Exception\RuntimeException('Missing To header');
         }
         unset($headers['To']['append']);
         $this->recipients = implode(',', $headers['To']);
     }
     // Remove recipient header
     unset($headers['To']);
     // Remove subject header, if present
     if (isset($headers['Subject'])) {
         unset($headers['Subject']);
     }
     // Prepare headers
     parent::_prepareHeaders($headers);
     // Fix issue with empty blank line ontop when using Sendmail Trnasport
     $this->header = rtrim($this->header);
 }