CHARSET_ASCII
CHARSET_ASCII = 'us-ascii'
PHPMailer - PHP email creation and transport class.
$Priority : int|null
Email priority.
Options: null (default), 1 = High, 3 = Normal, 5 = low. When null, the header is not set at all.
$CharSet : string
The character set of the message.
$ContentType : string
The MIME Content-type of the message.
$Encoding : string
The message encoding.
Options: "8bit", "7bit", "binary", "base64", and "quoted-printable".
$ErrorInfo : string
Holds the most recent mailer error message.
$From : string
The From email address for the message.
$FromName : string
The From name of the message.
$Sender : string
The envelope sender of the message.
This will usually be turned into a Return-Path header by the receiver,
and is the address that bounces will be sent to.
If not empty, will be passed via -f
to sendmail or as the 'MAIL FROM' value over SMTP.
$Subject : string
The Subject of the message.
$Body : string
An HTML or plain text message body.
If HTML then call isHTML(true).
$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.
$Ical : string
An iCal message part body.
Only supported in simple alt or alt_inline message types To generate iCal event structures, use classes like EasyPeasyICS or iCalcreator.
$WordWrap : int
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.
$Mailer : string
Which method to use to send mail.
Options: "mail", "sendmail", or "smtp".
$Sendmail : string
The path to the sendmail program.
$UseSendmailOptions : bool
Whether mail() uses a fully sendmail-compatible MTA.
One which supports sendmail's "-oi -f" options.
$ConfirmReadingTo : string
The email address that a reading confirmation should be sent to, also known as read receipt.
$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'.
$MessageDate : string
The message Date to be used in the Date header.
If empty, the current date will be added.
$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.
$Port : int
The default SMTP server port.
$Helo : string
The SMTP HELO/EHLO name used for the SMTP connection.
Default is $Hostname. If $Hostname is empty, PHPMailer attempts to find one with the same method described above for $Hostname.
$SMTPSecure : string
What kind of encryption to use on the SMTP connection.
Options: '', static::ENCRYPTION_STARTTLS, or static::ENCRYPTION_SMTPS.
$SMTPAutoTLS : bool
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.
$SMTPAuth : bool
Whether to use SMTP authentication.
Uses the Username and Password properties.
$SMTPOptions : array
Options array passed to stream_context_create when connecting via SMTP.
$Username : string
SMTP username.
$Password : string
SMTP password.
$AuthType : string
SMTP authentication type. Options are CRAM-MD5, LOGIN, PLAIN, XOAUTH2.
If not specified, the first one from that list that the server supports will be selected.
$Timeout : int
The SMTP server timeout in seconds.
Default of 5 minutes (300sec) is from RFC2821 section 4.5.3.2.
$dsn
Comma separated list of DSN notifications 'NEVER' under no circumstances a DSN must be returned to the sender.
If you use NEVER all other notifications will be ignored. 'SUCCESS' will notify you when your mail has arrived at its destination. 'FAILURE' will arrive if an error occurred during delivery. 'DELAY' will notify you if there is an unusual delay in delivery, but the actual delivery's outcome (success or failure) is not yet decided.
$SMTPDebug : int
SMTP class debug output mode.
Debug output level. Options:
$Debugoutput : string|callable|\Psr\Log\LoggerInterface
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.ini
By default PHPMailer will use echo
if run from a cli
or cli-server
SAPI, html
otherwise.
Alternatively, 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";};
Alternatively, you can pass in an instance of a PSR-3 compatible logger, though only debug
level output is used:
$mail->Debugoutput = new myPsr3Logger;
$SMTPKeepAlive : bool
Whether to keep the SMTP connection open after each message.
If this is set to true then the connection will remain open after a send, and closing the connection will require an explicit call to smtpClose(). It's a good idea to use this if you are sending multiple messages as it reduces overhead. See the mailing list example for how to use it.
$SingleTo : bool
Whether to split multiple to addresses into multiple messages or send them all in one message.
Only supported in mail
and sendmail
transports, not in SMTP.
$do_verp : bool
Whether to generate VERP addresses on send.
Only applicable when sending via SMTP.
None found |
$AllowEmpty : bool
Whether to allow sending messages with an empty body.
None found |
$DKIM_selector : string
DKIM selector.
None found |
$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 |
$DKIM_domain : string
DKIM signing domain name.
example |
'example.com' |
---|
$DKIM_copyHeaderFields : bool
DKIM Copy header field values for diagnostic use.
None found |
$DKIM_extraHeaders : array
DKIM Extra signing headers.
example |
['List-Unsubscribe', 'List-Help'] |
---|
$DKIM_private : string
DKIM private key file path.
None found |
$DKIM_private_string : string
DKIM private key string.
If set, takes precedence over $DKIM_private
.
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: bool $result result of the send action array $to email addresses of the recipients array $cc cc email addresses array $bcc bcc email addresses string $subject the subject string $body the email body string $from email address of sender string $extra extra information of possible use "smtp_transaction_id' => last smtp transaction id
None found |
$XMailer : string|null
What to put in the X-Mailer header.
Options: An empty string for PHPMailer default, whitespace/null for none, or a string to use.
None found |
$validator : string|callable
Which validator to use by default when validating email addresses.
May be a callable to inject your own validator, but there are several built-in validators. The default validator uses PHP's FILTER_VALIDATE_EMAIL filter_var option.
None found |
$IcalMethods : string[]
Value-array of "method" in Contenttype header "text/calendar"
None found |
$MIMEBody : string
The complete compiled MIME message body.
None found |
$MIMEHeader : string
The complete compiled MIME message headers.
None found |
$mailHeader : string
Extra headers that createHeader() doesn't fold in.
None found |
$oauth : \PHPMailer\PHPMailer\OAuthTokenProvider
An implementation of the PHPMailer OAuthTokenProvider interface.
None found |
$SingleToArray : array
Storage for addresses when SingleTo is enabled.
None found |
$smtp : \PHPMailer\PHPMailer\SMTP
An instance of the SMTP sender class.
None found |
$to : array
The array of 'to' names and addresses.
None found |
$cc : array
The array of 'cc' names and addresses.
None found |
$bcc : array
The array of 'bcc' names and addresses.
None found |
$ReplyTo : array
The array of reply-to names and addresses.
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 |
$attachment : array
The array of attachments.
None found |
$CustomHeader : array
The array of custom headers.
None found |
$lastMessageID : string
The most recent Message-ID (including angular brackets).
None found |
$message_type : string
The message's MIME type.
None found |
$boundary : array
The array of MIME boundary strings.
None found |
$language : array
The array of available text strings for the current language.
None found |
$error_count : int
The number of errors encountered.
None found |
$sign_cert_file : string
The S/MIME certificate file path.
None found |
$sign_key_file : string
The S/MIME key file path.
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 |
$exceptions : bool
Whether to throw exceptions for errors.
None found |
$uniqueid : string
Unique ID used for message ID and boundaries.
None found |
$LE : string
SMTP RFC standard line ending; Carriage Return, Line Feed.
None found |
__construct(bool $exceptions = null) : mixed
Constructor.
bool | $exceptions | Should we throw external exceptions? |
None found |
None found |
isHTML(bool $isHtml = true) : mixed
Sets message type to HTML or plain.
bool | $isHtml | True for HTML mode |
None found |
None found |
None found |
None found |
None found |
addAddress(string $address, string $name = '') : bool
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 = '') : bool
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
None found |
addBCC(string $address, string $name = '') : bool
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
None found |
addReplyTo(string $address, string $name = '') : bool
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, bool $useimap = true, string $charset = self::CHARSET_ISO88591) : 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 |
bool | $useimap | Whether to use the IMAP extension to parse the list |
string | $charset | The charset to use when decoding the address list string. |
None found |
setFrom(string $address, string $name = '', bool $auto = true) : bool
Set the From and FromName properties.
string | $address | |
string | $name | |
bool | $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|callable $patternselect = null) : bool
Check that a string looks like an email address.
Validation patterns supported:
auto
Pick best pattern automatically;pcre8
Use the squiloople.com pattern, requires PCRE > 8.0;pcre
Use old PCRE implementation;php
Use PHP built-in FILTER_VALIDATE_EMAIL;html5
Use the pattern given by the HTML5 spec for 'email' type form input elements.noregex
Don't use a regex: super fast, really dumb.
Alternatively you may pass in a callable to inject your own validator, for example:PHPMailer::validateAddress('user@example.com', function($address) {
return (strpos($address, '@') !== false);
});
You can also set the PHPMailer::$validator static to a callable, allowing built-in methods to use your validator.
string | $address | The email address to check |
string|callable | $patternselect | Which pattern to use |
None found |
idnSupported() : bool
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() : bool
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() : bool
Prepare a message for sending.
None found |
postSend() : bool
Actually send a message via the selected mechanism.
None found |
getSMTPInstance() : \PHPMailer\PHPMailer\SMTP
Get an instance to use for SMTP operations.
Override this function to load your own SMTP implementation, or set one with setSMTPInstance.
None found |
setSMTPInstance(\PHPMailer\PHPMailer\SMTP $smtp) : \PHPMailer\PHPMailer\SMTP
Provide an instance to use for SMTP operations.
\PHPMailer\PHPMailer\SMTP | $smtp |
None found |
smtpConnect(array $options = null) : bool
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 = '') : bool
Set the language for error messages.
The default language is English.
string | $langcode | ISO 639-1 2-character language code (e.g. French is "fr") Optionally, the language code can be enhanced with a 4-character script annotation and/or a 2-character country annotation. |
string | $lang_path | Path to the language file directory, with trailing separator (slash) Do not set this from user input! |
Returns true if the requested language was loaded, false otherwise.
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 recipients, where each recipient is a 2-element indexed array with element 0 containing an address and element 1 containing a name, like: [['joe@example.com', 'Joe User'], ['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 ['joe@example.com', 'Joe User'] |
None found |
wrapText(string $message, int $length, bool $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 |
int | $length | The line length to wrap to |
bool | $qp_mode | Whether to run in Quoted-Printable mode |
None found |
utf8CharBoundary(string $encodedText, int $maxLength) : int
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 |
int | $maxLength | Find the last character boundary prior to this length |
None found |
setWordWrap() : mixed
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|int $value) : string
Format a header line.
string | $name | |
string|int | $value |
None found |
textLine(string $value) : string
Return a formatted mail line.
string | $value |
None found |
addAttachment(string $path, string $name = '', string $encoding = self::ENCODING_BASE64, string $type = '', string $disposition = 'attachment') : bool
Add an attachment from a path on the filesystem.
Never use a user-supplied path to a file! Returns false if the file could not be found or read. Explicitly does not support passing URLs; PHPMailer is not an HTTP client. If you need to do that, fetch the resource yourself and pass it in via a local file or string.
string | $path | Path to the attachment |
string | $name | Overrides the attachment name |
string | $encoding | File encoding (see $Encoding) |
string | $type | MIME type, e.g. |
string | $disposition | Disposition to use |
None found |
None found |
encodeString(string $str, string $encoding = self::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 value (not including its label) optimally.
Picks shortest of Q, B, or none. Result includes folding if needed. See RFC822 definitions for phrase, comment and text positions.
string | $str | The header value to encode |
string | $position | What context the string will be used in |
None found |
hasMultiBytes(string $str) : bool
Check if a string contains multi-byte characters.
string | $str | multi-byte text to wrap encode |
None found |
has8bitChars(string $text) : bool
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) : string
Encode a string in quoted-printable format.
According to RFC2045 section 6.7.
string | $string | The text to encode |
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 = self::ENCODING_BASE64, string $type = '', string $disposition = 'attachment') : bool
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 |
True on successfully adding an attachment
None found |
addEmbeddedImage(string $path, string $cid, string $name = '', string $encoding = self::ENCODING_BASE64, string $type = '', string $disposition = 'inline') : bool
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 in img
tags, for example <img src="cid:mylogo">
.
Never use a user-supplied path to a file!
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 filename |
string | $encoding | File encoding (see $Encoding) defaults to |
string | $type | File MIME type (by default mapped from the |
string | $disposition | Disposition to use: |
True on successfully adding an attachment
None found |
addStringEmbeddedImage(string $string, string $cid, string $name = '', string $encoding = self::ENCODING_BASE64, string $type = '', string $disposition = 'inline') : bool
Add an embedded stringified attachment.
This can include images, sounds, and just about any other document type. If your filename doesn't contain an extension, be sure to set the $type to an appropriate MIME type.
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 | A filename for the attachment. If this contains an extension, PHPMailer will attempt to set a MIME type for the attachment. For example 'file.jpg' would get an 'image/jpeg' MIME type. |
string | $encoding | File encoding (see $Encoding), defaults to 'base64' |
string | $type | MIME type - will be used in preference to any automatically derived type |
string | $disposition | Disposition to use |
True on successfully adding an attachment
None found |
inlineImageExists() : bool
Check if an inline attachment is present.
None found |
attachmentExists() : bool
Check if an attachment (non-inline) is present.
None found |
alternativeExists() : bool
Check if this message has an alternative body set.
None found |
clearQueuedAddresses(string $kind) : mixed
Clear queued addresses of given kind.
string | $kind | 'to', 'cc', or 'bcc' |
None found |
None found |
None found |
None found |
None found |
None found |
clearAttachments() : mixed
Clear all filesystem, string, and binary attachments.
None found |
None found |
None found |
isValidHost(string $host) : bool
Validate whether a string contains a valid value to use as a hostname or IP address.
IPv6 addresses must include [], e.g. [::1]
, not just ::1
.
string | $host | The host name or IP address to check |
None found |
None found |
addCustomHeader(string $name, string|null $value = null) : mixed
Add a custom header.
$name value can be overloaded to contain both header name and value (name:value).
string | $name | Custom header name |
string|null | $value | Header value |
None found |
None found |
msgHTML(string $message, string $basedir = '', bool|callable $advanced = false) : string
Create a message body from an HTML string.
Automatically inlines images and creates a plain-text version by converting the HTML,
overwriting any existing values in Body and AltBody.
Do not source $message content from user input!
$basedir is prepended when handling relative URLs, e.g. and must not be empty
will look for an image file in $basedir/images/a.png and convert it to inline.
If you don't provide a $basedir, relative paths will be left untouched (and thus probably break in email)
Converts data-uri images into embedded attachments.
If you don't want to apply these transformations to your HTML, just set Body and AltBody directly.
string | $message | HTML message string |
string | $basedir | Absolute path to a base directory to prepend to relative paths to images |
bool|callable | $advanced | Whether to use the internal HTML to text converter or your own custom converter |
The transformed message body
None found |
html2text(string $html, bool|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 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 |
bool|callable | $advanced | Any boolean value to use the internal converter, or provide your own callable for custom conversion. Never pass user-supplied data into this parameter |
None found |
_mime_types(string $ext = '') : string
Get the MIME type for a file extension.
string | $ext | File extension |
MIME type of file
None found |
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 |
None found |
mb_pathinfo(string $path, int|string $options = null) : string|array
Multi-byte-safe pathinfo replacement.
Drop-in replacement for pathinfo(), but multibyte- and cross-platform-safe.
string | $path | A filename or path, does not need to exist as a file |
int|string | $options | Either a PATHINFO_* constant, or a string name to return only the specified piece |
None found |
set(string $name, mixed $value = '') : bool
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', static::ENCRYPTION_STARTTLS);
is the same as:
$mail->SMTPSecure = static::ENCRYPTION_STARTTLS;
.
string | $name | The property name to set |
mixed | $value | The value to set the property to |
None found |
secureHeader(string $str) : string
Strip newlines to prevent header injection.
string | $str |
None found |
normalizeBreaks(string $text, string $breaktype = null) : 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 static::$LE |
None found |
stripTrailingWSP(string $text) : string
Remove trailing breaks from a string.
string | $text |
The text to remove breaks from
None found |
None found |
sign(string $cert_filename, string $key_filename, string $key_pass, string $extracerts_filename = '') : mixed
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 |
The DKIM signature value
None found |
DKIM_HeaderC(string $signHeader) : string
Generate a DKIM canonicalization header.
Uses the 'relaxed' algorithm from RFC6376 section 3.4.2. Canonicalized headers should always use CRLF, regardless of mailer setting.
string | $signHeader | Header |
None found |
DKIM_BodyC(string $body) : string
Generate a DKIM canonicalization body.
Uses the 'simple' algorithm from RFC6376 section 3.4.3. Canonicalized bodies should always use CRLF, regardless of mailer setting.
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) : bool
Detect if a string contains a line longer than the maximum line length allowed by RFC 2822 section 2.1.1.
string | $str |
None found |
quotedString(string $str) : string
If a string contains any "special" characters, double-quote the name, and escape any double quotes with a backslash.
string | $str |
None found |
getToAddresses() : array
Allows for public read access to 'to' property.
Before the send() call, queued addresses (i.e. with IDN) are not yet included.
None found |
getCcAddresses() : array
Allows for public read access to 'cc' property.
Before the send() call, queued addresses (i.e. with IDN) are not yet included.
None found |
getBccAddresses() : array
Allows for public read access to 'bcc' property.
Before the send() call, queued addresses (i.e. with IDN) are not yet included.
None found |
getReplyToAddresses() : array
Allows for public read access to 'ReplyTo' property.
Before the send() call, queued addresses (i.e. with IDN) are not yet included.
None found |
getAllRecipientAddresses() : array
Allows for public read access to 'all_recipients' property.
Before the send() call, queued addresses (i.e. with IDN) are not yet included.
None found |
getOAuth() : \PHPMailer\PHPMailer\OAuthTokenProvider
Get the OAuthTokenProvider instance.
None found |
setOAuth(\PHPMailer\PHPMailer\OAuthTokenProvider $oauth) : mixed
Set an OAuthTokenProvider instance.
\PHPMailer\PHPMailer\OAuthTokenProvider | $oauth |
None found |
edebug(string $str) : mixed
Output debugging info via a user-defined method.
Only generates output if debug output is enabled.
string | $str |
None found |
addOrEnqueueAnAddress(string $kind, string $address, string $name) : bool
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 |
string | $name | An optional username associated with the address |
true on success, false if address already used or invalid in some way
None found |
addAnAddress(string $kind, string $address, string $name = '') : bool
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) : bool
Send mail using the $Sendmail program.
string | $header | The message headers |
string | $body | The message body |
None found |
isShellSafe(string $string) : bool
Fix CVE-2016-10033 and CVE-2016-10045 by disallowing potentially unsafe shell characters.
Note that escapeshellarg and escapeshellcmd are inadequate for our purposes, especially on Windows.
string | $string | The string to be validated |
None found |
isPermittedPath(string $path) : bool
Check whether a file path is of a permitted type.
Used to reject URLs and phar files from functions that access local file paths, such as addAttachment.
string | $path | A relative or absolute path to a file |
None found |
fileIsAccessible(string $path) : bool
Check whether a file path is safe, accessible, and readable.
string | $path | A relative or absolute path to a file |
None found |
mailSend(string $header, string $body) : bool
Send mail using the PHP mail() function.
string | $header | The message headers |
string | $body | The message body |
None found |
smtpSend(string $header, string $body) : bool
Send mail via SMTP.
Returns false if there is a bad MAIL FROM, RCPT, or DATA input.
string | $header | The message headers |
string | $body | The message body |
None found |
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() : mixed
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 = self::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 |
validateEncoding(string $encoding) : bool
Validate encodings.
string | $encoding |
None found |
cidExists(string $cid) : bool
Check if an embedded attachment is present with this cid.
string | $cid |
None found |
setError(string $msg) : mixed
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 |
setLE(string $le) : mixed
Set the line break format string, e.g. "\r\n".
string | $le |
None found |
doCallback(bool $isSent, array $to, array $cc, array $bcc, string $subject, string $body, string $from, array $extra) : mixed
Perform a callback.
bool | $isSent | |
array | $to | |
array | $cc | |
array | $bcc | |
string | $subject | |
string | $body | |
string | $from | |
array | $extra |
None found |
mailPassthru(string $to, string $subject, string $body, string $header, string|null $params) : bool
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|null | $params | Params |
None found |
getSmtpErrorMessage(string $base_key) : string
Build an error message starting with a generic one and adding details if possible.
string | $base_key |
None found |