STOP_MESSAGE
STOP_MESSAGE = 0
Error severity: message only, continue processing.
PHPMailer - PHP email creation and transport class.
$Body : string
An HTML or plain text message body.
If HTML then call isHTML(true).
None found |
$AltBody : string
The plain-text message body.
This body can be read by mail clients that do not have HTML email capability such as mutt & Eudora. Clients that can read HTML will view the normal Body.
None found |
$Ical : string
An iCal message part body.
Only supported in simple alt or alt_inline message types To generate iCal events, use the bundled extras/EasyPeasyICS.php class or iCalcreator
None found |
$WordWrap : integer
Word-wrap the message body to this number of chars.
Set to 0 to not wrap. A useful value here is 78, for RFC2822 section 2.1.1 compliance.
None found |
$Mailer : string
Which method to use to send mail.
Options: "mail", "sendmail", or "smtp".
None found |
$UseSendmailOptions : boolean
Whether mail() uses a fully sendmail-compatible MTA.
One which supports sendmail's "-oi -f" options.
None found |
$PluginDir : string
Path to PHPMailer plugins.
Useful if the SMTP class is not in the PHP include path.
None found |
$ConfirmReadingTo : string
The email address that a reading confirmation should be sent to, also known as read receipt.
None found |
$Hostname : string
The hostname to use in the Message-ID header and as default HELO string.
If empty, PHPMailer attempts to find one with, in order, $_SERVER['SERVER_NAME'], gethostname(), php_uname('n'), or the value 'localhost.localdomain'.
None found |
$MessageID : string
An ID to be used in the Message-ID header.
If empty, a unique id will be generated.
None found |
$MessageDate : string
The message Date to be used in the Date header.
If empty, the current date will be added.
None found |
$Host : string
SMTP hosts.
Either a single hostname or multiple semicolon-delimited hostnames. You can also specify a different port for each host by using this format: [hostname:port] (e.g. "smtp1.example.com:25;smtp2.example.com"). You can also specify encryption type, for example: (e.g. "tls://smtp1.example.com:587;ssl://smtp2.example.com:465"). Hosts will be tried in order.
None found |
TODO |
Why is this needed when the SMTP class takes care of it? |
---|
$Helo : string
The SMTP HELO of the message.
Default is $Hostname. If $Hostname is empty, PHPMailer attempts to find one with the same method described above for $Hostname.
None found |
$SMTPSecure : string
What kind of encryption to use on the SMTP connection.
Options: '', 'ssl' or 'tls'
None found |
$SMTPAutoTLS : boolean
Whether to enable TLS encryption automatically if a server supports it, even if `SMTPSecure` is not set to 'tls'.
Be aware that in PHP >= 5.6 this requires that the server's certificates are valid.
None found |
$SMTPAuth : boolean
Whether to use SMTP authentication.
Uses the Username and Password properties.
None found |
$SMTPOptions : array
Options array passed to stream_context_create when connecting via SMTP.
None found |
$AuthType : string
SMTP auth type.
Options are LOGIN (default), PLAIN, NTLM, CRAM-MD5
None found |
$Timeout : integer
The SMTP server timeout in seconds.
Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2
None found |
$SMTPDebug : integer
SMTP class debug output mode.
Debug output level. Options:
0
No output1
Commands2
Data and commands3
As 2 plus connection status4
Low-level data outputNone found |
$Debugoutput : string|callable
How to handle debug output.
Options:
echo
Output plain-text as-is, appropriate for CLIhtml
Output escaped, line breaks converted to <br>
, appropriate for browser outputerror_log
Output to error log as configured in php.iniAlternatively, you can provide a callable expecting two params: a message string and the debug level:
$mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";};
None found |
$SMTPKeepAlive : boolean
Whether to keep SMTP connection open after each message.
If this is set to true then to close the connection requires an explicit call to smtpClose().
None found |
$SingleTo : boolean
Whether to split multiple to addresses into multiple messages or send them all in one message.
None found |
TODO |
This should really not be public |
---|
$do_verp : boolean
Whether to generate VERP addresses on send.
Only applicable when sending via SMTP.
None found |
$AllowEmpty : boolean
Whether to allow sending messages with an empty body.
None found |
note |
The default remains "\n". We force CRLF where we know it must be used via self::CRLF. |
---|
$DKIM_identity : string
DKIM Identity.
Usually the email address used as the source of the email
None found |
$DKIM_passphrase : string
DKIM passphrase.
Used if your key is encrypted.
None found |
$action_function : string
Callback Action function name.
The function that handles the result of the send email action. It is called out by send() for each email sent.
Value can be any php callable: http://www.php.net/is_callable
Parameters: boolean $result result of the send action string $to email address of the recipient string $cc cc email addresses string $bcc bcc email addresses string $subject the subject string $body the email body string $from email address of sender
None found |
$XMailer : string
What to put in the X-Mailer header.
Options: An empty string for PHPMailer default, whitespace for none, or a string to use
None found |
None found |
None found |
$smtp : \SMTP
An instance of the SMTP sender class.
None found |
$all_recipients : array
An array of all kinds of addresses.
Includes all of $to, $cc, $bcc
None found |
$RecipientsQueue : array
An array of names and addresses queued for validation.
In send(), valid and non duplicate entries are moved to $all_recipients and one of $to, $cc, or $bcc. This array is used only for addresses with IDN.
None found |
$ReplyToQueue : array
An array of reply-to names and addresses queued for validation.
In send(), valid and non duplicate entries are moved to $ReplyTo. This array is used only for addresses with IDN.
None found |
$lastMessageID : string
The most recent Message-ID (including angular brackets).
None found |
None found |
$sign_extracerts_file : string
The optional S/MIME extra certificates ("CA Chain") file path.
None found |
$sign_key_pass : string
The S/MIME password for the key.
Used only if the key is encrypted.
None found |
None found |
None found |
__construct(boolean $exceptions = false)
Constructor.
boolean | $exceptions | Should we throw external exceptions? |
None found |
None found |
isHTML(boolean $isHtml = true) : void
Sets message type to HTML or plain.
boolean | $isHtml | True for HTML mode. |
None found |
None found |
None found |
None found |
None found |
addAddress(string $address, string $name = '') : boolean
Add a "To" address.
string | $address | The email address to send to |
string | $name |
true on success, false if address already used or invalid in some way
None found |
addCC(string $address, string $name = '') : boolean
Add a "CC" address.
string | $address | The email address to send to |
string | $name |
true on success, false if address already used or invalid in some way
note |
: This function works with the SMTP mailer on win32, not with the "mail" mailer. |
---|
addBCC(string $address, string $name = '') : boolean
Add a "BCC" address.
string | $address | The email address to send to |
string | $name |
true on success, false if address already used or invalid in some way
note |
: This function works with the SMTP mailer on win32, not with the "mail" mailer. |
---|
addReplyTo(string $address, string $name = '') : boolean
Add a "Reply-To" address.
string | $address | The email address to reply to |
string | $name |
true on success, false if address already used or invalid in some way
None found |
parseAddresses(string $addrstr, boolean $useimap = true) : array
Parse and validate a string containing one or more RFC822-style comma-separated email addresses of the form "display name <address>" into an array of name/address pairs.
Uses the imap_rfc822_parse_adrlist function if the IMAP extension is available. Note that quotes in the name part are removed.
string | $addrstr | The address list string |
boolean | $useimap | Whether to use the IMAP extension to parse the list |
None found |
setFrom(string $address, string $name = '', boolean $auto = true) : boolean
Set the From and FromName properties.
string | $address | |
string | $name | |
boolean | $auto | Whether to also set the Sender address, defaults to true |
None found |
getLastMessageID() : string
Return the Message-ID header of the last email.
Technically this is the value from the last time the headers were created, but it's also the message ID of the last sent message except in pathological cases.
None found |
validateAddress(string $address, string $patternselect = 'auto') : boolean
Check that a string looks like an email address.
string | $address | The email address to check |
string | $patternselect | A selector for the validation pattern to use :
|
static |
---|
idnSupported() : boolean
Tells whether IDNs (Internationalized Domain Names) are supported or not. This requires the "intl" and "mbstring" PHP extensions.
"true" if required functions for IDN support are present
None found |
punyencodeAddress(string $address) : string
Converts IDN in given email address to its ASCII form, also known as punycode, if possible.
Important: Address must be passed in same encoding as currently set in PHPMailer::$CharSet. This function silently returns unmodified address if:
string | $address | The email address to convert |
The encoded address in ASCII form
None found |
send() : boolean
Create a message and send it.
Uses the sending method specified by $Mailer.
false on error - See the ErrorInfo property for details of the error.
None found |
preSend() : boolean
Prepare a message for sending.
None found |
postSend() : boolean
Actually send a message.
Send the email via the selected mechanism
None found |
getSMTPInstance() : \SMTP
Get an instance to use for SMTP operations.
Override this function to load your own SMTP implementation
None found |
smtpConnect(array $options = array()) : boolean
Initiate a connection to an SMTP server.
Returns false if the operation failed.
array | $options | An array of options compatible with stream_context_create() |
None found |
None found |
setLanguage(string $langcode = 'en', string $lang_path = '') : boolean
Set the language for error messages.
Returns false if it cannot load the language file. The default language is English.
string | $langcode | ISO 639-1 2-character language code (e.g. French is "fr") |
string | $lang_path | Path to the language file directory, with trailing separator (slash) |
None found |
getTranslations() : array
Get the array of strings for the current language.
None found |
addrAppend(string $type, array $addr) : string
Create recipient headers.
string | $type | |
array | $addr | An array of recipient, where each recipient is a 2-element indexed array with element 0 containing an address and element 1 containing a name, like: array(array('joe@example.com', 'Joe User'), array('zoe@example.com', 'Zoe User')) |
None found |
addrFormat(array $addr) : string
Format an address for use in a message header.
array | $addr | A 2-element indexed array, element 0 containing an address, element 1 containing a name like array('joe@example.com', 'Joe User') |
None found |
wrapText(string $message, integer $length, boolean $qp_mode = false) : string
Word-wrap message.
For use with mailers that do not automatically perform wrapping and for quoted-printable encoded messages. Original written by philippe.
string | $message | The message to wrap |
integer | $length | The line length to wrap to |
boolean | $qp_mode | Whether to run in Quoted-Printable mode |
None found |
utf8CharBoundary(string $encodedText, integer $maxLength) : integer
Find the last character boundary prior to $maxLength in a utf-8 quoted-printable encoded string.
Original written by Colin Brown.
string | $encodedText | utf-8 QP text |
integer | $maxLength | Find the last character boundary prior to this length |
None found |
setWordWrap() : void
Apply word wrapping to the message body.
Wraps the message body to the number of chars set in the WordWrap property. You should only do this to plain-text bodies as wrapping HTML tags may break them. This is called automatically by createBody(), so you don't need to call it yourself.
None found |
createHeader() : string
Assemble message headers.
The assembled headers
None found |
None found |
getSentMIMEMessage() : string
Returns the whole MIME message.
Includes complete headers and body. Only valid post preSend().
None found |
createBody() : string
Assemble the message body.
Returns an empty string on failure.
The assembled message body
None found |
headerLine(string $name, string $value) : string
Format a header line.
string | $name | |
string | $value |
None found |
textLine(string $value) : string
Return a formatted mail line.
string | $value |
None found |
addAttachment(string $path, string $name = '', string $encoding = 'base64', string $type = '', string $disposition = 'attachment') : boolean
Add an attachment from a path on the filesystem.
Returns false if the file could not be found or read.
string | $path | Path to the attachment. |
string | $name | Overrides the attachment name. |
string | $encoding | File encoding (see $Encoding). |
string | $type | File extension (MIME) type. |
string | $disposition | Disposition to use |
None found |
None found |
encodeString(string $str, string $encoding = 'base64') : string
Encode a string in requested format.
Returns an empty string on failure.
string | $str | The text to encode |
string | $encoding | The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' |
None found |
encodeHeader(string $str, string $position = 'text') : string
Encode a header string optimally.
Picks shortest of Q, B, quoted-printable or none.
string | $str | |
string | $position |
None found |
hasMultiBytes(string $str) : boolean
Check if a string contains multi-byte characters.
string | $str | multi-byte text to wrap encode |
None found |
has8bitChars(string $text) : boolean
Does a string contain any 8-bit chars (in any charset)?
string | $text |
None found |
base64EncodeWrapMB(string $str, string $linebreak = null) : string
Encode and wrap long multibyte strings for mail headers without breaking lines within a character.
Adapted from a function by paravoid
string | $str | multi-byte text to wrap encode |
string | $linebreak | string to use as linefeed/end-of-line |
None found |
encodeQP(string $string, integer $line_max = 76) : string
Encode a string in quoted-printable format.
According to RFC2045 section 6.7.
string | $string | The text to encode |
integer | $line_max | Number of chars allowed on a line before wrapping |
None found |
encodeQPphp(string $string, integer $line_max = 76, boolean $space_conv = false) : string
Backward compatibility wrapper for an old QP encoding function that was removed.
string | $string | |
integer | $line_max | |
boolean | $space_conv |
None found |
encodeQ(string $str, string $position = 'text') : string
Encode a string using Q encoding.
string | $str | the text to encode |
string | $position | Where the text is going to be used, see the RFC for what that means |
None found |
addStringAttachment(string $string, string $filename, string $encoding = 'base64', string $type = '', string $disposition = 'attachment') : void
Add a string or binary attachment (non-filesystem).
This method can be used to attach ascii or binary data, such as a BLOB record from a database.
string | $string | String attachment data. |
string | $filename | Name of the attachment. |
string | $encoding | File encoding (see $Encoding). |
string | $type | File extension (MIME) type. |
string | $disposition | Disposition to use |
None found |
addEmbeddedImage(string $path, string $cid, string $name = '', string $encoding = 'base64', string $type = '', string $disposition = 'inline') : boolean
Add an embedded (inline) attachment from a file.
This can include images, sounds, and just about any other document type. These differ from 'regular' attachments in that they are intended to be displayed inline with the message, not just attached for download. This is used in HTML messages that embed the images the HTML refers to using the $cid value.
string | $path | Path to the attachment. |
string | $cid | Content ID of the attachment; Use this to reference the content when using an embedded image in HTML. |
string | $name | Overrides the attachment name. |
string | $encoding | File encoding (see $Encoding). |
string | $type | File MIME type. |
string | $disposition | Disposition to use |
True on successfully adding an attachment
None found |
addStringEmbeddedImage(string $string, string $cid, string $name = '', string $encoding = 'base64', string $type = '', string $disposition = 'inline') : boolean
Add an embedded stringified attachment.
This can include images, sounds, and just about any other document type. Be sure to set the $type to an image type for images: JPEG images use 'image/jpeg', GIF uses 'image/gif', PNG uses 'image/png'.
string | $string | The attachment binary data. |
string | $cid | Content ID of the attachment; Use this to reference the content when using an embedded image in HTML. |
string | $name | |
string | $encoding | File encoding (see $Encoding). |
string | $type | MIME type. |
string | $disposition | Disposition to use |
True on successfully adding an attachment
None found |
inlineImageExists() : boolean
Check if an inline attachment is present.
None found |
attachmentExists() : boolean
Check if an attachment (non-inline) is present.
None found |
alternativeExists() : boolean
Check if this message has an alternative body set.
None found |
clearQueuedAddresses(string $kind) : void
Clear queued addresses of given kind.
string | $kind | 'to', 'cc', or 'bcc' |
None found |
None found |
None found |
None found |
None found |
None found |
None found |
None found |
static |
---|
isError() : boolean
Check if an error occurred.
True if an error did occur.
None found |
fixEOL(string $str) : string
Ensure consistent line endings in a string.
Changes every end of line from CRLF, CR or LF to $this->LE.
string | $str | String to fixEOL |
None found |
addCustomHeader(string $name, string $value = null) : void
Add a custom header.
$name value can be overloaded to contain both header name and value (name:value)
string | $name | Custom header name |
string | $value | Header value |
None found |
None found |
msgHTML(string $message, string $basedir = '', boolean|callable $advanced = false) : string
Create a message from an HTML string.
Automatically makes modifications for inline images and backgrounds and creates a plain-text version by converting the HTML. Overwrites any existing values in $this->Body and $this->AltBody
string | $message | HTML message string |
string | $basedir | baseline directory for path |
boolean|callable | $advanced | Whether to use the internal HTML to text converter or your own custom converter @see PHPMailer::html2text() |
$message
None found |
html2text(string $html, boolean|callable $advanced = false) : string
Convert an HTML string into plain text.
This is used by msgHTML().
Note - older versions of this function used a bundled advanced converter
which was been removed for license reasons in #232
Example usage:
// Use default conversion
$plain = $mail->html2text($html);
// Use your own custom converter
$plain = $mail->html2text($html, function($html) {
$converter = new MyHtml2text($html);
return $converter->get_text();
});
string | $html | The HTML text to convert |
boolean|callable | $advanced | Any boolean value to use the internal converter, or provide your own callable for custom conversion. |
None found |
_mime_types(string $ext = '') : string
Get the MIME type for a file extension.
string | $ext | File extension |
MIME type of file.
static |
---|
filenameToType(string $filename) : string
Map a file name to a MIME type.
Defaults to 'application/octet-stream', i.e.. arbitrary binary data.
string | $filename | A file name or full path, does not need to exist as a file |
static |
---|
mb_pathinfo(string $path, integer|string $options = null) : string|array
Multi-byte-safe pathinfo replacement.
Drop-in replacement for pathinfo(), but multibyte-safe, cross-platform-safe, old-version-safe. Works similarly to the one in PHP >= 5.2.0
string | $path | A filename or path, does not need to exist as a file |
integer|string | $options | Either a PATHINFO_* constant, or a string name to return only the specified piece, allows 'filename' to work on PHP < 5.2 |
static |
---|
set(string $name, mixed $value = '') : boolean
Set or reset instance properties.
You should avoid this function - it's more verbose, less efficient, more error-prone and
harder to debug than setting properties directly.
Usage Example:
$mail->set('SMTPSecure', 'tls');
is the same as:
$mail->SMTPSecure = 'tls';
string | $name | The property name to set |
mixed | $value | The value to set the property to |
TODO |
Should this not be using the __set() magic function? |
---|
secureHeader(string $str) : string
Strip newlines to prevent header injection.
string | $str |
None found |
normalizeBreaks(string $text, string $breaktype = "\r\n") : string
Normalize line breaks in a string.
Converts UNIX LF, Mac CR and Windows CRLF line breaks into a single line break format. Defaults to CRLF (for message bodies) and preserves consecutive breaks.
string | $text | |
string | $breaktype | What kind of line break to use, defaults to CRLF |
static |
---|
sign(string $cert_filename, string $key_filename, string $key_pass, string $extracerts_filename = '')
Set the public and private key files and password for S/MIME signing.
string | $cert_filename | |
string | $key_filename | |
string | $key_pass | Password for private key |
string | $extracerts_filename | Optional path to chain certificate |
None found |
DKIM_QP(string $txt) : string
Quoted-Printable-encode a DKIM header.
string | $txt |
None found |
DKIM_Sign(string $signHeader) : string
Generate a DKIM signature.
string | $signHeader |
None found |
DKIM_HeaderC(string $signHeader) : string
Generate a DKIM canonicalization header.
string | $signHeader | Header |
None found |
DKIM_BodyC(string $body) : string
Generate a DKIM canonicalization body.
string | $body | Message Body |
None found |
DKIM_Add(string $headers_line, string $subject, string $body) : string
Create the DKIM header and body in a new message header.
string | $headers_line | Header lines |
string | $subject | Subject |
string | $body | Body |
None found |
hasLineLongerThanMax(string $str) : boolean
Detect if a string contains a line longer than the maximum line length allowed.
string | $str |
static |
---|
getToAddresses() : array
Allows for public read access to 'to' property.
note |
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. |
---|
getCcAddresses() : array
Allows for public read access to 'cc' property.
note |
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. |
---|
getBccAddresses() : array
Allows for public read access to 'bcc' property.
note |
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. |
---|
getReplyToAddresses() : array
Allows for public read access to 'ReplyTo' property.
note |
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. |
---|
getAllRecipientAddresses() : array
Allows for public read access to 'all_recipients' property.
note |
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. |
---|
edebug(string $str)
Output debugging info via user-defined method.
Only generates output if SMTP debug output is enabled (@see SMTP::$do_debug).
string | $str |
None found |
addOrEnqueueAnAddress(string $kind, string $address, string $name) : boolean
Add an address to one of the recipient arrays or to the ReplyTo array. Because PHPMailer can't validate addresses with an IDN without knowing the PHPMailer::$CharSet (that can still be modified after calling this function), addition of such addresses is delayed until send().
Addresses that have been added already return false, but do not throw exceptions.
string | $kind | One of 'to', 'cc', 'bcc', or 'ReplyTo' |
string | $address | The email address to send, resp. to reply to |
string | $name |
true on success, false if address already used or invalid in some way
None found |
addAnAddress(string $kind, string $address, string $name = '') : boolean
Add an address to one of the recipient arrays or to the ReplyTo array.
Addresses that have been added already return false, but do not throw exceptions.
string | $kind | One of 'to', 'cc', 'bcc', or 'ReplyTo' |
string | $address | The email address to send, resp. to reply to |
string | $name |
true on success, false if address already used or invalid in some way
None found |
sendmailSend(string $header, string $body) : boolean
Send mail using the $Sendmail program.
string | $header | The message headers |
string | $body | The message body |
None found |
mailSend(string $header, string $body) : boolean
Send mail using the PHP mail() function.
string | $header | The message headers |
string | $body | The message body |
None found |
smtpSend(string $header, string $body) : boolean
Send mail via SMTP.
Returns false if there is a bad MAIL FROM, RCPT, or DATA input. Uses the PHPMailerSMTP class by default.
string | $header | The message headers |
string | $body | The message body |
None found |
getBoundary(string $boundary, string $charSet, string $contentType, string $encoding) : string
Return the start of a message boundary.
string | $boundary | |
string | $charSet | |
string | $contentType | |
string | $encoding |
None found |
endBoundary(string $boundary) : string
Return the end of a message boundary.
string | $boundary |
None found |
setMessageType() : void
Set the message type.
PHPMailer only supports some preset message types, not arbitrary MIME structures.
None found |
attachAll(string $disposition_type, string $boundary) : string
Attach all file, string, and binary attachments to the message.
Returns an empty string on failure.
string | $disposition_type | |
string | $boundary |
None found |
encodeFile(string $path, string $encoding = 'base64') : string
Encode a file attachment in requested format.
Returns an empty string on failure.
string | $path | The full path to the file |
string | $encoding | The encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' |
None found |
setError(string $msg) : void
Add an error message to the error container.
string | $msg |
None found |
serverHostname() : string
Get the server hostname.
Returns 'localhost.localdomain' if unknown.
None found |
lang(string $key) : string
Get an error message in the current language.
string | $key |
None found |
doCallback(boolean $isSent, array $to, array $cc, array $bcc, string $subject, string $body, string $from)
Perform a callback.
boolean | $isSent | |
array | $to | |
array | $cc | |
array | $bcc | |
string | $subject | |
string | $body | |
string | $from |
None found |
mailPassthru(string $to, string $subject, string $body, string $header, string $params) : boolean
Call mail() in a safe_mode-aware fashion.
Also, unless sendmail_path points to sendmail (or something that claims to be sendmail), don't pass params (not a perfect fix, but it will do)
string | $to | To |
string | $subject | Subject |
string | $body | Message Body |
string | $header | Additional Header(s) |
string | $params | Params |
None found |