MediaWiki  master
UserMailer Class Reference

Collection of static functions for sending mail. More...

Static Public Member Functions

static quotedPrintable ( $string, $charset='')
 Converts a string into quoted-printable format. More...
 
static rfc822Phrase ( $phrase)
 Converts a string into a valid RFC 822 "phrase", such as is used for the sender name. More...
 
static sanitizeHeaderValue ( $val)
 Strips bad characters from a header value to prevent PHP mail header injection attacks. More...
 
static send ( $to, $from, $subject, $body, $options=[])
 This function will perform a direct (authenticated) login to a SMTP Server to use for mail relaying if 'wgSMTP' specifies an array of parameters. More...
 

Static Protected Member Functions

static sendInternal (array $to, MailAddress $from, $subject, $body, $options=[])
 Helper function fo UserMailer::send() which does the actual sending. More...
 
static sendWithPear ( $mailer, $dest, $headers, $body)
 Send mail using a PEAR mailer. More...
 

Detailed Description

Collection of static functions for sending mail.

Definition at line 35 of file UserMailer.php.

Member Function Documentation

◆ quotedPrintable()

static UserMailer::quotedPrintable (   $string,
  $charset = '' 
)
static

Converts a string into quoted-printable format.

Since
1.17

From PHP5.3 there is a built in function quoted_printable_encode() This method does not duplicate that. This method is doing Q encoding inside encoded-words as defined by RFC 2047 This is for email headers. The built in quoted_printable_encode() is for email bodies

Parameters
string$string
string$charset
Returns
string

Definition at line 521 of file UserMailer.php.

References $matches.

Referenced by sendInternal(), and MailAddress\toString().

◆ rfc822Phrase()

static UserMailer::rfc822Phrase (   $phrase)
static

Converts a string into a valid RFC 822 "phrase", such as is used for the sender name.

Parameters
string$phrase
Returns
string

Definition at line 500 of file UserMailer.php.

References sanitizeHeaderValue().

◆ sanitizeHeaderValue()

static UserMailer::sanitizeHeaderValue (   $val)
static

Strips bad characters from a header value to prevent PHP mail header injection attacks.

Parameters
string$valString to be sanitized
Returns
string

Definition at line 491 of file UserMailer.php.

Referenced by rfc822Phrase().

◆ send()

static UserMailer::send (   $to,
  $from,
  $subject,
  $body,
  $options = [] 
)
static

This function will perform a direct (authenticated) login to a SMTP Server to use for mail relaying if 'wgSMTP' specifies an array of parameters.

It requires PEAR:Mail to do that. Otherwise it just uses the standard PHP 'mail' function.

Parameters
MailAddress | MailAddress[]$toRecipient's email (or an array of them)
MailAddress$fromSender's email
string$subjectEmail's subject.
string | string[]$bodyEmail's text or Array of two strings to be the text and html bodies
array$optionsKeys: 'replyTo' MailAddress 'contentType' string default 'text/plain; charset=UTF-8' 'headers' array Extra headers to set
Exceptions
MWException
Exception
Returns
Status

Definition at line 120 of file UserMailer.php.

References StatusValue\newFatal(), StatusValue\newGood(), Hooks\runner(), sendInternal(), and wfDebug().

Referenced by EmaillingJob\run(), and User\sendMail().

◆ sendInternal()

static UserMailer::sendInternal ( array  $to,
MailAddress  $from,
  $subject,
  $body,
  $options = [] 
)
staticprotected

Helper function fo UserMailer::send() which does the actual sending.

It expects a $to list which the UserMailerSplitTo hook would not split further.

Parameters
MailAddress[]$toArray of recipients' email addresses
MailAddress$fromSender's email
string$subjectEmail's subject.
string | string[]$bodyEmail's text or Array of two strings to be the text and html bodies
array$optionsKeys: 'replyTo' MailAddress 'contentType' string default 'text/plain; charset=UTF-8' 'headers' array Extra headers to set
Exceptions
MWException
Exception
Returns
Status

Definition at line 244 of file UserMailer.php.

References $mime, MWTimestamp\getLocalInstance(), SpecialPage\getTitleFor(), StatusValue\newFatal(), StatusValue\newGood(), PROTO_CANONICAL, quotedPrintable(), Hooks\runner(), sendWithPear(), MailAddress\toString(), wfDebug(), and wfIsWindows().

Referenced by send().

◆ sendWithPear()

static UserMailer::sendWithPear (   $mailer,
  $dest,
  $headers,
  $body 
)
staticprotected

Send mail using a PEAR mailer.

Parameters
Mail_smtp$mailer
string[] | string$dest
array$headers
string$body
Returns
Status

Definition at line 48 of file UserMailer.php.

References StatusValue\newFatal(), StatusValue\newGood(), and wfDebug().

Referenced by sendInternal().


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