MediaWiki
1.34.0
|
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... | |
Static Private Member Functions | |
static | arrayToHeaderString ( $headers, $endl=PHP_EOL) |
Creates a single string from an associative array. More... | |
static | errorHandler ( $code, $string) |
Set the mail error message in self::$mErrorString. More... | |
static | isMailMimeUsable () |
Whether the PEAR Mail_mime library is usable. More... | |
static | isMailUsable () |
Whether the PEAR Mail library is usable. More... | |
static | makeMsgId () |
Create a value suitable for the MessageId Header. More... | |
Static Private Attributes | |
static | $mErrorString |
Collection of static functions for sending mail.
Definition at line 30 of file UserMailer.php.
|
staticprivate |
Creates a single string from an associative array.
array | $headers | Associative Array: keys are header field names, values are ... values. |
string | $endl | The end of line character. Defaults to "\\n" |
Note RFC2822 says newlines must be CRLF (\r\n) but php mail naively "corrects" it and requires \n for the "correction" to work
Definition at line 67 of file UserMailer.php.
References sanitizeHeaderValue().
Referenced by sendInternal().
|
staticprivate |
Set the mail error message in self::$mErrorString.
int | $code | Error number |
string | $string | Error message |
Definition at line 471 of file UserMailer.php.
|
staticprivate |
Whether the PEAR Mail_mime library is usable.
This will try and load it if it is not already.
Definition at line 199 of file UserMailer.php.
|
staticprivate |
Whether the PEAR Mail library is usable.
This will try and load it if it is not already.
Definition at line 213 of file UserMailer.php.
|
staticprivate |
Create a value suitable for the MessageId Header.
Definition at line 82 of file UserMailer.php.
References $wgServer, $wgSMTP, WikiMap\getCurrentWikiDbDomain(), and wfParseUrl().
Referenced by sendInternal().
|
static |
Converts a string into quoted-printable format.
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
string | $string | |
string | $charset |
Definition at line 510 of file UserMailer.php.
References $matches.
Referenced by sendInternal(), and MailAddress\toString().
|
static |
Converts a string into a valid RFC 822 "phrase", such as is used for the sender name.
string | $phrase |
Definition at line 489 of file UserMailer.php.
References sanitizeHeaderValue().
|
static |
Strips bad characters from a header value to prevent PHP mail header injection attacks.
string | $val | String to be santizied |
Definition at line 480 of file UserMailer.php.
Referenced by arrayToHeaderString(), and rfc822Phrase().
|
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.
MailAddress | MailAddress[] | $to | Recipient's email (or an array of them) |
MailAddress | $from | Sender's email |
string | $subject | Email's subject. |
string | string[] | $body | Email's text or Array of two strings to be the text and html bodies |
array | $options | Keys: 'replyTo' MailAddress 'contentType' string default 'text/plain; charset=UTF-8' 'headers' array Extra headers to set |
MWException | |
Exception |
Definition at line 115 of file UserMailer.php.
References $status, $wgAllowHTMLEmail, StatusValue\newFatal(), StatusValue\newGood(), Hooks\run(), sendInternal(), and wfDebug().
Referenced by EmaillingJob\run(), EmailNotification\sendImpersonal(), User\sendMail(), EmailNotification\sendPersonalised(), and SpecialEmailUser\submit().
|
staticprotected |
Helper function fo UserMailer::send() which does the actual sending.
It expects a $to list which the UserMailerSplitTo hook would not split further.
MailAddress[] | $to | Array of recipients' email addresses |
MailAddress | $from | Sender's email |
string | $subject | Email's subject. |
string | string[] | $body | Email's text or Array of two strings to be the text and html bodies |
array | $options | Keys: 'replyTo' MailAddress 'contentType' string default 'text/plain; charset=UTF-8' 'headers' array Extra headers to set |
MWException | |
Exception |
Definition at line 238 of file UserMailer.php.
References $status, $wgAdditionalMailParams, $wgEnotifMaxRecips, $wgSMTP, arrayToHeaderString(), MWTimestamp\getLocalInstance(), SpecialPage\getTitleFor(), makeMsgId(), StatusValue\newFatal(), StatusValue\newGood(), PROTO_CANONICAL, quotedPrintable(), Hooks\run(), sendWithPear(), MailAddress\toString(), wfDebug(), and wfIsWindows().
Referenced by send().
|
staticprotected |
Send mail using a PEAR mailer.
Mail_smtp | $mailer | |
string[] | string | $dest | |
array | $headers | |
string | $body |
Definition at line 43 of file UserMailer.php.
References StatusValue\newFatal(), StatusValue\newGood(), and wfDebug().
Referenced by sendInternal().
|
staticprivate |
Definition at line 31 of file UserMailer.php.