ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
Mail_mail Class Reference
+ Inheritance diagram for Mail_mail:
+ Collaboration diagram for Mail_mail:

Public Member Functions

 Mail_mail ($params=null)
 Constructor.
 send ($recipients, $headers, $body)
 Implements Mail_mail::send() function using php's built-in mail() command.
- Public Member Functions inherited from Mail
factory ($driver, $params=array())
 Provides an interface for generating Mail:: objects of various types.
 _sanitizeHeaders (&$headers)
 Sanitize an array of mail headers by removing any additional header strings present in a legitimate header's value.
 prepareHeaders ($headers)
 Take an array of mail headers and return a string containing text usable in sending a message.
 parseRecipients ($recipients)
 Take a set of recipients and parse them, returning an array of bare addresses (forward paths) that can be passed to sendmail or an smtp server with the rcpt to: command.

Data Fields

 $_params = ''
- Data Fields inherited from Mail
 $sep = "\r\n"

Detailed Description

Definition at line 51 of file mail.php.

Member Function Documentation

Mail_mail::Mail_mail (   $params = null)

Constructor.

Instantiates a new Mail_mail:: object based on the parameters passed in.

Parameters
array$paramsExtra arguments for the mail() function.

Definition at line 67 of file mail.php.

{
// The other mail implementations accept parameters as arrays.
// In the interest of being consistent, explode an array into
// a string of parameter arguments.
if (is_array($params)) {
$this->_params = join(' ', $params);
} else {
$this->_params = $params;
}
/* Because the mail() function may pass headers as command
* line arguments, we can't guarantee the use of the standard
* "\r\n" separator. Instead, we use the system's native line
* separator. */
if (defined('PHP_EOL')) {
$this->sep = PHP_EOL;
} else {
$this->sep = (strpos(PHP_OS, 'WIN') === false) ? "\n" : "\r\n";
}
}
Mail_mail::send (   $recipients,
  $headers,
  $body 
)

Implements Mail_mail::send() function using php's built-in mail() command.

Parameters
mixed$recipientsEither 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.
array$headersThe 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'.
string$bodyThe full text of the message body, including any Mime parts, etc.
Returns
mixed Returns true on success, or a PEAR_Error containing a descriptive error message on failure.

public

Reimplemented from Mail.

Definition at line 115 of file mail.php.

References $result, Mail\_sanitizeHeaders(), Mail\prepareHeaders(), and PEAR\raiseError().

{
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']);
}
// Also remove the To: header. The mail() function will add its own
// To: header based on the contents of $recipients.
unset($headers['To']);
// Flatten the headers out.
$headerElements = $this->prepareHeaders($headers);
if (is_a($headerElements, 'PEAR_Error')) {
return $headerElements;
}
list(, $text_headers) = $headerElements;
// 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');
}
return $result;
}

+ Here is the call graph for this function:

Field Documentation

Mail_mail::$_params = ''

Definition at line 57 of file mail.php.


The documentation for this class was generated from the following file: