Exemplo n.º 1
0
 /**
  * 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  Postman_Zend_Transport_Exception
  */
 protected function _prepareHeaders($headers)
 {
     if (!$this->_mail) {
         /**
          * @see Postman_Zend_Mail_Transport_Exception
          */
         //             require_once 'Zend/Mail/Transport/Exception.php';
         throw new Postman_Zend_Mail_Transport_Exception('_prepareHeaders requires a registered Postman_Zend_Mail object');
     }
     unset($headers['Bcc']);
     // Prepare headers
     parent::_prepareHeaders($headers);
 }
Exemplo n.º 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  Postman_Zend_Mail_Transport_Exception
  */
 protected function _prepareHeaders($headers)
 {
     if (!$this->_mail) {
         /**
          * @see Postman_Zend_Mail_Transport_Exception
          */
         //             require_once 'Zend/Mail/Transport/Exception.php';
         throw new Postman_Zend_Mail_Transport_Exception('_prepareHeaders requires a registered Postman_Zend_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)) {
             /**
              * @see Postman_Zend_Mail_Transport_Exception
              */
             //                 require_once 'Zend/Mail/Transport/Exception.php';
             throw new Postman_Zend_Mail_Transport_Exception('Missing To addresses');
         }
     } else {
         // All others, simply grab the recipients and unset the To: header
         if (!isset($headers['To'])) {
             /**
              * @see Postman_Zend_Mail_Transport_Exception
              */
             //                 require_once 'Zend/Mail/Transport/Exception.php';
             throw new Postman_Zend_Mail_Transport_Exception('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);
 }