function send($recipients, $headers, $body)
 {
     // This code copied from the Mail.php pear class -- shame they didn't template it...
     $this->_sanitizeHeaders($headers);
     if (is_array($recipients)) {
         $recipients = join(', ', $recipients);
     }
     list($from, $text_headers) = Mail::prepareHeaders($headers);
     $filename = $this->path . $recipients;
     file_put_contents($filename, "{$text_headers}\r\n\r\n{$body}\r\n");
 }
Example #2
0
 /**
  * Implements Mail::send() function using php's built-in mail()
  * command.
  *
  * @param mixed $recipients Either a comma-seperated list of recipients
  *              (RFC822 compliant), or an array of recipients,
  *              each RFC822 valid. This may contain recipients not
  *              specified in the headers, for Bcc:, resending
  *              messages, etc.
  *
  * @param array $headers The array of headers to send with the mail, in an
  *              associative array, where the array key is the
  *              header name (ie, 'Subject'), and the array value
  *              is the header value (ie, 'test'). The header
  *              produced from those values would be 'Subject:
  *              test'.
  *
  * @param string $body The full text of the message body, including any
  *               Mime parts, etc.
  *
  * @return mixed Returns true on success, or a PEAR_Error
  *               containing a descriptive error message on
  *               failure.
  * @access public
  * @deprecated use Mail_mail::send instead
  */
 function send($recipients, $headers, $body)
 {
     // if we're passed an array of recipients, implode it.
     if (is_array($recipients)) {
         $recipients = implode(', ', $recipients);
     }
     // get the Subject out of the headers array so that we can
     // pass it as a seperate argument to mail().
     $subject = '';
     if (isset($headers['Subject'])) {
         $subject = $headers['Subject'];
         unset($headers['Subject']);
     }
     // flatten the headers out.
     list(, $text_headers) = Mail::prepareHeaders($headers);
     return mail($recipients, $subject, $body, $text_headers);
 }
 /**
  * Implements Mail::send() function using php's built-in mail()
  * command.
  *
  * @param mixed $recipients Either a comma-seperated list of recipients
  *              (RFC822 compliant), or an array of recipients,
  *              each RFC822 valid. This may contain recipients not
  *              specified in the headers, for Bcc:, resending
  *              messages, etc.
  *
  * @param array $headers The array of headers to send with the mail, in an
  *              associative array, where the array key is the
  *              header name (ie, 'Subject'), and the array value
  *              is the header value (ie, 'test'). The header
  *              produced from those values would be 'Subject:
  *              test'.
  *
  * @param string $body The full text of the message body, including any
  *               Mime parts, etc.
  *
  * @return mixed Returns true on success, or a PEAR_Error
  *               containing a descriptive error message on
  *               failure.
  *
  * @access public
  * @deprecated use Mail_mail::send instead
  */
 function send($recipients, $headers, $body)
 {
     if (!is_array($headers)) {
         return PEAR::raiseError('$headers must be an array');
     }
     $result = $this->_sanitizeHeaders($headers);
     if (is_a($result, 'PEAR_Error')) {
         return $result;
     }
     // if we're passed an array of recipients, implode it.
     if (is_array($recipients)) {
         $recipients = implode(', ', $recipients);
     }
     // get the Subject out of the headers array so that we can
     // pass it as a seperate argument to mail().
     $subject = '';
     if (isset($headers['Subject'])) {
         $subject = $headers['Subject'];
         unset($headers['Subject']);
     }
     // flatten the headers out.
     list(, $text_headers) = Mail::prepareHeaders($headers);
     return mail($recipients, $subject, $body, $text_headers);
 }
Example #4
0
 /**
  * Implements Mail_mail::send() function using php's built-in mail()
  * command.
  * 
  * @param mixed $recipients Either a comma-seperated list of recipients
  *              (RFC822 compliant), or an array of recipients,
  *              each RFC822 valid. This may contain recipients not
  *              specified in the headers, for Bcc:, resending
  *              messages, etc.
  *
  * @param array $headers The array of headers to send with the mail, in an
  *              associative array, where the array key is the
  *              header name (ie, 'Subject'), and the array value
  *              is the header value (ie, 'test'). The header
  *              produced from those values would be 'Subject:
  *              test'.
  *
  * @param string $body The full text of the message body, including any
  *               Mime parts, etc.
  *
  * @return mixed Returns true on success, or a PEAR_Error
  *               containing a descriptive error message on
  *               failure.
  * @access public
  */
 function send($recipients, $headers, $body)
 {
     // if we're passed an array of recipients, implode it.
     if (is_array($recipients)) {
         $recipients = implode(', ', $recipients);
     }
     // get the Subject out of the headers array so that we can
     // pass it as a seperate argument to mail().
     $subject = '';
     if (isset($headers['Subject'])) {
         $subject = $headers['Subject'];
         unset($headers['Subject']);
     }
     // flatten the headers out.
     list(, $text_headers) = Mail::prepareHeaders($headers);
     include_once 'Mail/RFC822.php';
     $addresses = Mail_RFC822::parseAddressList($headers['From'], 'localhost', false);
     $from = $addresses[0]->mailbox . '@' . $addresses[0]->host;
     return mail($recipients, $subject, $body, $text_headers, "-f" . $from . " " . $this->_params);
 }
Example #5
0
 /**
  * Implements Mail::send() function using php's built-in mail()
  * command.
  *
  * @param mixed $recipients Either a comma-seperated list of recipients
  *              (RFC822 compliant), or an array of recipients,
  *              each RFC822 valid. This may contain recipients not
  *              specified in the headers, for Bcc:, resending
  *              messages, etc.
  *
  * @param array $headers The array of headers to send with the mail, in an
  *              associative array, where the array key is the
  *              header name (ie, 'Subject'), and the array value
  *              is the header value (ie, 'test'). The header
  *              produced from those values would be 'Subject:
  *              test'.
  *
  * @param string $body The full text of the message body, including any
  *               Mime parts, etc.
  *
  * @return mixed Returns true on success, or a PEAR_Error
  *               containing a descriptive error message on
  *               failure.
  * @access public
  * @deprecated use Mail_mail::send instead
  */
 function send($recipients, $headers, $body, $return = '')
 {
     // if we're passed an array of recipients, implode it.
     if (is_array($recipients)) {
         $recipients = implode(', ', $recipients);
     }
     // get the Subject out of the headers array so that we can
     // pass it as a seperate argument to mail().
     $subject = '';
     if (isset($headers['Subject'])) {
         mb_language('uni');
         mb_internal_encoding("UTF-8");
         $subject = mb_encode_mimeheader($headers['Subject'], "UTF-8", "B", "\n");
         unset($headers['Subject']);
     }
     // flatten the headers out.
     list(, $text_headers) = Mail::prepareHeaders($headers);
     if (!empty($return)) {
         $return = '-f' . $return;
     }
     return mail($recipients, $subject, $body, $text_headers, $return);
 }
Example #6
0
 /**
  * Implements Mail_mail::send() function using php's built-in mail()
  * command.
  * 
  * @param mixed $recipients Either a comma-seperated list of recipients
  *              (RFC822 compliant), or an array of recipients,
  *              each RFC822 valid. This may contain recipients not
  *              specified in the headers, for Bcc:, resending
  *              messages, etc.
  *
  * @param array $headers The array of headers to send with the mail, in an
  *              associative array, where the array key is the
  *              header name (ie, 'Subject'), and the array value
  *              is the header value (ie, 'test'). The header
  *              produced from those values would be 'Subject:
  *              test'.
  *
  * @param string $body The full text of the message body, including any
  *               Mime parts, etc.
  *
  * @return mixed Returns true on success, or a PEAR_Error
  *               containing a descriptive error message on
  *               failure.
  *
  * @access public
  */
 function send($recipients, $headers, $body)
 {
     // If we're passed an array of recipients, implode it.
     if (is_array($recipients)) {
         $recipients = implode(', ', $recipients);
     }
     // Get the Subject out of the headers array so that we can
     // pass it as a seperate argument to mail().
     $subject = '';
     if (isset($headers['Subject'])) {
         $subject = $headers['Subject'];
         unset($headers['Subject']);
     }
     // Flatten the headers out.
     list(, $text_headers) = Mail::prepareHeaders($headers);
     /*
      * We only use mail()'s optional fifth parameter if the additional
      * parameters have been provided and we're not running in safe mode.
      */
     if (empty($this->_params) || ini_get('safe_mode')) {
         $result = mail($recipients, $subject, $body, $text_headers);
     } else {
         $result = mail($recipients, $subject, $body, $text_headers, $this->_params);
     }
     /*
      * If the mail() function returned failure, we need to create a
      * PEAR_Error object and return it instead of the boolean result.
      */
     if ($result === false) {
         $result = PEAR::raiseError('mail() returned failure', PEAR_MAIL_FAILED);
     }
     return $result;
 }