API - XOOPS 2.5.11 Beta 2
By monxoops.fr
PHPMailer Class Reference
Inheritance diagram for PHPMailer:

Public Member Functions

 __construct ($exceptions=null)
 
 __destruct ()
 
 isHTML ($isHtml=true)
 
 isSMTP ()
 
 isMail ()
 
 isSendmail ()
 
 isQmail ()
 
 addAddress ($address, $name='')
 
 addCC ($address, $name='')
 
 addBCC ($address, $name='')
 
 addReplyTo ($address, $name='')
 
 parseAddresses ($addrstr, $useimap=true)
 
 setFrom ($address, $name='', $auto=true)
 
 getLastMessageID ()
 
 idnSupported ()
 
 punyencodeAddress ($address)
 
 send ()
 
 preSend ()
 
 postSend ()
 
 getSMTPInstance ()
 
 smtpConnect ($options=null)
 
 smtpClose ()
 
 setLanguage ($langcode='en', $lang_path='')
 
 getTranslations ()
 
 addrAppend ($type, $addr)
 
 addrFormat ($addr)
 
 wrapText ($message, $length, $qp_mode=false)
 
 utf8CharBoundary ($encodedText, $maxLength)
 
 setWordWrap ()
 
 createHeader ()
 
 getMailMIME ()
 
 getSentMIMEMessage ()
 
 createBody ()
 
 headerLine ($name, $value)
 
 textLine ($value)
 
 addAttachment ($path, $name='', $encoding='base64', $type='', $disposition='attachment')
 
 getAttachments ()
 
 encodeString ($str, $encoding='base64')
 
 encodeHeader ($str, $position='text')
 
 hasMultiBytes ($str)
 
 has8bitChars ($text)
 
 base64EncodeWrapMB ($str, $linebreak=null)
 
 encodeQP ($string, $line_max=76)
 
 encodeQPphp ( $string, $line_max=76, $space_conv=false)
 
 encodeQ ($str, $position='text')
 
 addStringAttachment ( $string, $filename, $encoding='base64', $type='', $disposition='attachment')
 
 addEmbeddedImage ($path, $cid, $name='', $encoding='base64', $type='', $disposition='inline')
 
 addStringEmbeddedImage ( $string, $cid, $name='', $encoding='base64', $type='', $disposition='inline')
 
 inlineImageExists ()
 
 attachmentExists ()
 
 alternativeExists ()
 
 clearQueuedAddresses ($kind)
 
 clearAddresses ()
 
 clearCCs ()
 
 clearBCCs ()
 
 clearReplyTos ()
 
 clearAllRecipients ()
 
 clearAttachments ()
 
 clearCustomHeaders ()
 
 isError ()
 
 fixEOL ($str)
 
 addCustomHeader ($name, $value=null)
 
 getCustomHeaders ()
 
 msgHTML ($message, $basedir='', $advanced=false)
 
 html2text ($html, $advanced=false)
 
 set ($name, $value='')
 
 secureHeader ($str)
 
 sign ($cert_filename, $key_filename, $key_pass, $extracerts_filename='')
 
 DKIM_QP ($txt)
 
 DKIM_Sign ($signHeader)
 
 DKIM_HeaderC ($signHeader)
 
 DKIM_BodyC ($body)
 
 DKIM_Add ($headers_line, $subject, $body)
 
 getToAddresses ()
 
 getCcAddresses ()
 
 getBccAddresses ()
 
 getReplyToAddresses ()
 
 getAllRecipientAddresses ()
 

Static Public Member Functions

static validateAddress ($address, $patternselect=null)
 
static rfcDate ()
 
static _mime_types ($ext='')
 
static filenameToType ($filename)
 
static mb_pathinfo ($path, $options=null)
 
static normalizeBreaks ($text, $breaktype="\r\n")
 
static hasLineLongerThanMax ($str)
 

Data Fields

 $Version = '5.2.28'
 
 $Priority = null
 
 $CharSet = 'iso-8859-1'
 
 $ContentType = 'text/plain'
 
 $Encoding = '8bit'
 
 $ErrorInfo = ''
 
 $From = 'root@localhost'
 
 $FromName = 'Root User'
 
 $Sender = ''
 
 $ReturnPath = ''
 
 $Subject = ''
 
 $Body = ''
 
 $AltBody = ''
 
 $Ical = ''
 
 $WordWrap = 0
 
 $Mailer = 'mail'
 
 $Sendmail = '/usr/sbin/sendmail'
 
 $UseSendmailOptions = true
 
 $PluginDir = ''
 
 $ConfirmReadingTo = ''
 
 $Hostname = ''
 
 $MessageID = ''
 
 $MessageDate = ''
 
 $Host = 'localhost'
 
 $Port = 25
 
 $Helo = ''
 
 $SMTPSecure = ''
 
 $SMTPAutoTLS = true
 
 $SMTPAuth = false
 
 $SMTPOptions = array()
 
 $Username = ''
 
 $Password = ''
 
 $AuthType = ''
 
 $Realm = ''
 
 $Workstation = ''
 
 $Timeout = 300
 
 $SMTPDebug = 0
 
 $Debugoutput = 'echo'
 
 $SMTPKeepAlive = false
 
 $SingleTo = false
 
 $SingleToArray = array()
 
 $do_verp = false
 
 $AllowEmpty = false
 
 $LE = "\n"
 
 $DKIM_selector = ''
 
 $DKIM_identity = ''
 
 $DKIM_passphrase = ''
 
 $DKIM_domain = ''
 
 $DKIM_private = ''
 
 $DKIM_private_string = ''
 
 $action_function = ''
 
 $XMailer = ''
 
const STOP_MESSAGE = 0
 
const STOP_CONTINUE = 1
 
const STOP_CRITICAL = 2
 
const CRLF = "\r\n"
 
const MAX_LINE_LENGTH = 998
 

Static Public Attributes

static $validator = 'auto'
 

Protected Member Functions

 edebug ($str)
 
 addOrEnqueueAnAddress ($kind, $address, $name)
 
 addAnAddress ($kind, $address, $name='')
 
 sendmailSend ($header, $body)
 
 mailSend ($header, $body)
 
 smtpSend ($header, $body)
 
 generateId ()
 
 getBoundary ($boundary, $charSet, $contentType, $encoding)
 
 endBoundary ($boundary)
 
 setMessageType ()
 
 attachAll ($disposition_type, $boundary)
 
 encodeFile ($path, $encoding='base64')
 
 setError ($msg)
 
 serverHostname ()
 
 lang ($key)
 
 doCallback ($isSent, $to, $cc, $bcc, $subject, $body, $from)
 

Static Protected Member Functions

static isShellSafe ($string)
 
static isPermittedPath ($path)
 

Protected Attributes

 $MIMEBody = ''
 
 $MIMEHeader = ''
 
 $mailHeader = ''
 
 $smtp = null
 
 $to = array()
 
 $cc = array()
 
 $bcc = array()
 
 $ReplyTo = array()
 
 $all_recipients = array()
 
 $RecipientsQueue = array()
 
 $ReplyToQueue = array()
 
 $attachment = array()
 
 $CustomHeader = array()
 
 $lastMessageID = ''
 
 $message_type = ''
 
 $boundary = array()
 
 $language = array()
 
 $error_count = 0
 
 $sign_cert_file = ''
 
 $sign_key_file = ''
 
 $sign_extracerts_file = ''
 
 $sign_key_pass = ''
 
 $exceptions = false
 
 $uniqueid = ''
 

Constructor & Destructor Documentation

◆ __construct()

__construct (   $exceptions = null)

Constructor.

Parameters
boolean$exceptionsShould we throw external exceptions?

◆ __destruct()

__destruct ( )

Destructor.

Here is the call graph for this function:

Member Function Documentation

◆ _mime_types()

static _mime_types (   $ext = '')
static

Get the MIME type for a file extension.

Parameters
string$extFile extension @access public
Returns
string MIME type of file.
Here is the caller graph for this function:

◆ addAddress()

addAddress (   $address,
  $name = '' 
)

Add a "To" address.

Parameters
string$addressThe email address to send to
string$name
Returns
boolean true on success, false if address already used or invalid in some way
Here is the call graph for this function:

◆ addAnAddress()

addAnAddress (   $kind,
  $address,
  $name = '' 
)
protected

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.

Parameters
string$kindOne of 'to', 'cc', 'bcc', or 'ReplyTo'
string$addressThe email address to send, resp. to reply to
string$name
Exceptions
phpmailerException
Returns
boolean true on success, false if address already used or invalid in some way @access protected
Here is the call graph for this function:

◆ addAttachment()

addAttachment (   $path,
  $name = '',
  $encoding = 'base64',
  $type = '',
  $disposition = 'attachment' 
)

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.

Parameters
string$pathPath to the attachment.
string$nameOverrides the attachment name.
string$encodingFile encoding (see $Encoding).
string$typeFile extension (MIME) type.
string$dispositionDisposition to use
Exceptions
phpmailerException
Returns
boolean
Here is the call graph for this function:

◆ addBCC()

addBCC (   $address,
  $name = '' 
)

Add a "BCC" address.

Note
: This function works with the SMTP mailer on win32, not with the "mail" mailer.
Parameters
string$addressThe email address to send to
string$name
Returns
boolean true on success, false if address already used or invalid in some way
Here is the call graph for this function:

◆ addCC()

addCC (   $address,
  $name = '' 
)

Add a "CC" address.

Note
: This function works with the SMTP mailer on win32, not with the "mail" mailer.
Parameters
string$addressThe email address to send to
string$name
Returns
boolean true on success, false if address already used or invalid in some way
Here is the call graph for this function:

◆ addCustomHeader()

addCustomHeader (   $name,
  $value = null 
)

Add a custom header. $name value can be overloaded to contain both header name and value (name:value) @access public

Parameters
string$nameCustom header name
string$valueHeader value
Returns
void

◆ addEmbeddedImage()

addEmbeddedImage (   $path,
  $cid,
  $name = '',
  $encoding = 'base64',
  $type = '',
  $disposition = 'inline' 
)

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. Never use a user-supplied path to a file!

Parameters
string$pathPath to the attachment.
string$cidContent ID of the attachment; Use this to reference the content when using an embedded image in HTML.
string$nameOverrides the attachment name.
string$encodingFile encoding (see $Encoding).
string$typeFile MIME type.
string$dispositionDisposition to use
Returns
boolean True on successfully adding an attachment
Here is the call graph for this function:

◆ addOrEnqueueAnAddress()

addOrEnqueueAnAddress (   $kind,
  $address,
  $name 
)
protected

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.

Parameters
string$kindOne of 'to', 'cc', 'bcc', or 'ReplyTo'
string$addressThe email address to send, resp. to reply to
string$name
Exceptions
phpmailerException
Returns
boolean true on success, false if address already used or invalid in some way @access protected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addrAppend()

addrAppend (   $type,
  $addr 
)

Create recipient headers. @access public

Parameters
string$type
array$addrAn 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@e.nosp@m.xamp.nosp@m.le.co.nosp@m.m', 'Joe User'), array('zoe@e.nosp@m.xamp.nosp@m.le.co.nosp@m.m', 'Zoe User'))
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addReplyTo()

addReplyTo (   $address,
  $name = '' 
)

Add a "Reply-To" address.

Parameters
string$addressThe email address to reply to
string$name
Returns
boolean true on success, false if address already used or invalid in some way
Here is the call graph for this function:

◆ addrFormat()

addrFormat (   $addr)

Format an address for use in a message header. @access public

Parameters
array$addrA 2-element indexed array, element 0 containing an address, element 1 containing a name like array('joe@e.nosp@m.xamp.nosp@m.le.co.nosp@m.m', 'Joe User')
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ addStringAttachment()

addStringAttachment (   $string,
  $filename,
  $encoding = 'base64',
  $type = '',
  $disposition = 'attachment' 
)

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.

Parameters
string$stringString attachment data.
string$filenameName of the attachment.
string$encodingFile encoding (see $Encoding).
string$typeFile extension (MIME) type.
string$dispositionDisposition to use
Returns
void
Here is the call graph for this function:

◆ addStringEmbeddedImage()

addStringEmbeddedImage (   $string,
  $cid,
  $name = '',
  $encoding = 'base64',
  $type = '',
  $disposition = 'inline' 
)

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'.

Parameters
string$stringThe attachment binary data.
string$cidContent ID of the attachment; Use this to reference the content when using an embedded image in HTML.
string$name
string$encodingFile encoding (see $Encoding).
string$typeMIME type.
string$dispositionDisposition to use
Returns
boolean True on successfully adding an attachment
Here is the call graph for this function:

◆ alternativeExists()

alternativeExists ( )

Check if this message has an alternative body set.

Returns
boolean
Here is the caller graph for this function:

◆ attachAll()

attachAll (   $disposition_type,
  $boundary 
)
protected

Attach all file, string, and binary attachments to the message. Returns an empty string on failure. @access protected

Parameters
string$disposition_type
string$boundary
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ attachmentExists()

attachmentExists ( )

Check if an attachment (non-inline) is present.

Returns
boolean
Here is the caller graph for this function:

◆ base64EncodeWrapMB()

base64EncodeWrapMB (   $str,
  $linebreak = null 
)

Encode and wrap long multibyte strings for mail headers without breaking lines within a character. Adapted from a function by paravoid public string $str multi-byte text to wrap encode string $linebreak string to use as linefeed/end-of-line string

Here is the caller graph for this function:

◆ clearAddresses()

clearAddresses ( )

Clear all To recipients.

Returns
void
Here is the call graph for this function:

◆ clearAllRecipients()

clearAllRecipients ( )

Clear all recipient types.

Returns
void

◆ clearAttachments()

clearAttachments ( )

Clear all filesystem, string, and binary attachments.

Returns
void

◆ clearBCCs()

clearBCCs ( )

Clear all BCC recipients.

Returns
void
Here is the call graph for this function:

◆ clearCCs()

clearCCs ( )

Clear all CC recipients.

Returns
void
Here is the call graph for this function:

◆ clearCustomHeaders()

clearCustomHeaders ( )

Clear all custom headers.

Returns
void

◆ clearQueuedAddresses()

clearQueuedAddresses (   $kind)

Clear queued addresses of given kind. @access protected

Parameters
string$kind'to', 'cc', or 'bcc'
Returns
void
Here is the caller graph for this function:

◆ clearReplyTos()

clearReplyTos ( )

Clear all ReplyTo recipients.

Returns
void

◆ createBody()

createBody ( )

Assemble the message body. Returns an empty string on failure. @access public

Exceptions
phpmailerException
Returns
string The assembled message body
Here is the call graph for this function:
Here is the caller graph for this function:

◆ createHeader()

createHeader ( )

Assemble message headers. @access public

Returns
string The assembled headers
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DKIM_Add()

DKIM_Add (   $headers_line,
  $subject,
  $body 
)

Create the DKIM header and body in a new message header. @access public

Parameters
string$headers_lineHeader lines
string$subjectSubject
string$bodyBody
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ DKIM_BodyC()

DKIM_BodyC (   $body)

Generate a DKIM canonicalization body. @access public

Parameters
string$bodyMessage Body
Returns
string
Here is the caller graph for this function:

◆ DKIM_HeaderC()

DKIM_HeaderC (   $signHeader)

Generate a DKIM canonicalization header. @access public

Parameters
string$signHeaderHeader
Returns
string
Here is the caller graph for this function:

◆ DKIM_QP()

DKIM_QP (   $txt)

Quoted-Printable-encode a DKIM header. @access public

Parameters
string$txt
Returns
string
Here is the caller graph for this function:

◆ DKIM_Sign()

DKIM_Sign (   $signHeader)

Generate a DKIM signature. @access public

Parameters
string$signHeader
Exceptions
phpmailerException
Returns
string The DKIM signature value
Here is the call graph for this function:
Here is the caller graph for this function:

◆ doCallback()

doCallback (   $isSent,
  $to,
  $cc,
  $bcc,
  $subject,
  $body,
  $from 
)
protected

Perform a callback.

Parameters
boolean$isSent
array$to
array$cc
array$bcc
string$subject
string$body
string$from
Here is the caller graph for this function:

◆ edebug()

edebug (   $str)
protected

Output debugging info via user-defined method. Only generates output if SMTP debug output is enabled (

See also
SMTP::$do_debug).
PHPMailer::$Debugoutput
PHPMailer::$SMTPDebug
Parameters
string$str
Here is the caller graph for this function:

◆ encodeFile()

encodeFile (   $path,
  $encoding = 'base64' 
)
protected

Encode a file attachment in requested format. Returns an empty string on failure.

Parameters
string$pathThe full path to the file
string$encodingThe encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable'
Exceptions
phpmailerException@access protected
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ encodeHeader()

encodeHeader (   $str,
  $position = 'text' 
)

Encode a header string optimally. Picks shortest of Q, B, quoted-printable or none. @access public

Parameters
string$str
string$position
Returns
string

@noinspection PhpMissingBreakStatementInspection

Here is the call graph for this function:
Here is the caller graph for this function:

◆ encodeQ()

encodeQ (   $str,
  $position = 'text' 
)

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 public string

@noinspection PhpMissingBreakStatementInspection

Here is the caller graph for this function:

◆ encodeQP()

encodeQP (   $string,
  $line_max = 76 
)

Encode a string in quoted-printable format. According to RFC2045 section 6.7. @access public

Parameters
string$stringThe text to encode
integer$line_maxNumber of chars allowed on a line before wrapping
Returns
string Adapted from this comment
Here is the caller graph for this function:

◆ encodeQPphp()

encodeQPphp (   $string,
  $line_max = 76,
  $space_conv = false 
)

Backward compatibility wrapper for an old QP encoding function that was removed.

See also
PHPMailer::encodeQP() @access public
Parameters
string$string
integer$line_max
boolean$space_conv
Returns
string
Deprecated:
Use encodeQP instead.
Parameters
$space_conv@noinspection PhpUnusedParameterInspection
Here is the call graph for this function:

◆ encodeString()

encodeString (   $str,
  $encoding = 'base64' 
)

Encode a string in requested format. Returns an empty string on failure.

Parameters
string$strThe text to encode
string$encodingThe encoding to use; one of 'base64', '7bit', '8bit', 'binary', 'quoted-printable' @access public
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ endBoundary()

endBoundary (   $boundary)
protected

Return the end of a message boundary. @access protected

Parameters
string$boundary
Returns
string
Here is the caller graph for this function:

◆ filenameToType()

static filenameToType (   $filename)
static

Map a file name to a MIME type. Defaults to 'application/octet-stream', i.e.. arbitrary binary data.

Parameters
string$filenameA file name or full path, does not need to exist as a file
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fixEOL()

fixEOL (   $str)

Ensure consistent line endings in a string. Changes every end of line from CRLF, CR or LF to $this->LE. @access public

Parameters
string$strString to fixEOL
Returns
string
Here is the caller graph for this function:

◆ generateId()

generateId ( )
protected

Create unique ID

Returns
string
Here is the caller graph for this function:

◆ getAllRecipientAddresses()

getAllRecipientAddresses ( )

Allows for public read access to 'all_recipients' property.

Note
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. @access public
Returns
array

◆ getAttachments()

getAttachments ( )

Return the array of attachments.

Returns
array

◆ getBccAddresses()

getBccAddresses ( )

Allows for public read access to 'bcc' property.

Note
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. @access public
Returns
array

◆ getBoundary()

getBoundary (   $boundary,
  $charSet,
  $contentType,
  $encoding 
)
protected

Return the start of a message boundary. @access protected

Parameters
string$boundary
string$charSet
string$contentType
string$encoding
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCcAddresses()

getCcAddresses ( )

Allows for public read access to 'cc' property.

Note
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. @access public
Returns
array

◆ getCustomHeaders()

getCustomHeaders ( )

Returns all custom headers.

Returns
array

◆ getLastMessageID()

getLastMessageID ( )

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.

Returns
string

◆ getMailMIME()

getMailMIME ( )

Get the message MIME type headers. @access public

Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getReplyToAddresses()

getReplyToAddresses ( )

Allows for public read access to 'ReplyTo' property.

Note
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. @access public
Returns
array

◆ getSentMIMEMessage()

getSentMIMEMessage ( )

Returns the whole MIME message. Includes complete headers and body. Only valid post preSend().

See also
PHPMailer::preSend() @access public
Returns
string

◆ getSMTPInstance()

getSMTPInstance ( )

Get an instance to use for SMTP operations. Override this function to load your own SMTP implementation

Returns
SMTP
Here is the caller graph for this function:

◆ getToAddresses()

getToAddresses ( )

Allows for public read access to 'to' property.

Note
: Before the send() call, queued addresses (i.e. with IDN) are not yet included. @access public
Returns
array

◆ getTranslations()

getTranslations ( )

Get the array of strings for the current language.

Returns
array

◆ has8bitChars()

has8bitChars (   $text)

Does a string contain any 8-bit chars (in any charset)?

Parameters
string$text
Returns
boolean
Here is the caller graph for this function:

◆ hasLineLongerThanMax()

static hasLineLongerThanMax (   $str)
static

Detect if a string contains a line longer than the maximum line length allowed.

Parameters
string$str
Returns
boolean

◆ hasMultiBytes()

hasMultiBytes (   $str)

Check if a string contains multi-byte characters. @access public

Parameters
string$strmulti-byte text to wrap encode
Returns
boolean
Here is the caller graph for this function:

◆ headerLine()

headerLine (   $name,
  $value 
)

Format a header line. @access public

Parameters
string$name
string$value
Returns
string
Here is the caller graph for this function:

◆ html2text()

html2text (   $html,
  $advanced = false 
)

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(); });

Parameters
string$htmlThe HTML text to convert
boolean | callable$advancedAny boolean value to use the internal converter, or provide your own callable for custom conversion.
Returns
string

◆ idnSupported()

idnSupported ( )

Tells whether IDNs (Internationalized Domain Names) are supported or not. This requires the "intl" and "mbstring" PHP extensions.

Returns
bool "true" if required functions for IDN support are present
Here is the caller graph for this function:

◆ inlineImageExists()

inlineImageExists ( )

Check if an inline attachment is present. @access public

Returns
boolean
Here is the caller graph for this function:

◆ isError()

isError ( )

Check if an error occurred. @access public

Returns
boolean True if an error did occur.
Here is the caller graph for this function:

◆ isHTML()

isHTML (   $isHtml = true)

Sets message type to HTML or plain.

Parameters
boolean$isHtmlTrue for HTML mode.
Returns
void

◆ isMail()

isMail ( )

Send messages using PHP's mail() function.

Returns
void

◆ isPermittedPath()

static isPermittedPath (   $path)
staticprotected

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.

Parameters
string$pathA relative or absolute path to a file.
Returns
bool

◆ isQmail()

isQmail ( )

Send messages using qmail.

Returns
void

◆ isSendmail()

isSendmail ( )

Send messages using $Sendmail.

Returns
void

◆ isShellSafe()

static isShellSafe (   $string)
staticprotected

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.

Parameters
string$stringThe string to be validated
See also
https://github.com/PHPMailer/PHPMailer/issues/924 CVE-2016-10045 bug report @access protected
Returns
boolean

◆ isSMTP()

isSMTP ( )

Send messages using SMTP.

Returns
void

◆ lang()

lang (   $key)
protected

Get an error message in the current language. @access protected

Parameters
string$key
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mailSend()

mailSend (   $header,
  $body 
)
protected

Send mail using the PHP mail() function.

Parameters
string$headerThe message headers
string$bodyThe message body phpmailerException protected boolean
Here is the call graph for this function:
Here is the caller graph for this function:

◆ mb_pathinfo()

static mb_pathinfo (   $path,
  $options = null 
)
static

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 string|array

Here is the caller graph for this function:

◆ msgHTML()

msgHTML (   $message,
  $basedir = '',
  $advanced = false 
)

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) If you don't want to apply these transformations to your HTML, just set Body and AltBody directly. @access public

Parameters
string$messageHTML message string
string$basedirAbsolute path to a base directory to prepend to relative paths to images
boolean | callable$advancedWhether to use the internal HTML to text converter or your own custom converter
See also
PHPMailer::html2text()
Returns
string $message The transformed message Body

◆ normalizeBreaks()

static normalizeBreaks (   $text,
  $breaktype = "\r\n" 
)
static

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.

Parameters
string$text
string$breaktypeWhat kind of line break to use, defaults to CRLF
Returns
string @access public

◆ parseAddresses()

parseAddresses (   $addrstr,
  $useimap = true 
)

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.

Parameters
string$addrstrThe address list string
bool$useimapWhether to use the IMAP extension to parse the list
Returns
array A more careful implementation
Here is the call graph for this function:

◆ postSend()

postSend ( )

Actually send a message. Send the email via the selected mechanism

Exceptions
phpmailerException
Returns
boolean
Here is the call graph for this function:
Here is the caller graph for this function:

◆ preSend()

preSend ( )

Prepare a message for sending.

Exceptions
phpmailerException
Returns
boolean
Here is the call graph for this function:
Here is the caller graph for this function:

◆ punyencodeAddress()

punyencodeAddress (   $address)

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:

  • No conversion is necessary (i.e. domain name is not an IDN, or is already in ASCII form)
  • Conversion to punycode is impossible (e.g. required PHP functions are not available) or fails for any reason (e.g. domain has characters not allowed in an IDN)
    See also
    PHPMailer::$CharSet
    Parameters
    string$addressThe email address to convert
    Returns
    string The encoded address in ASCII form
Here is the call graph for this function:
Here is the caller graph for this function:

◆ rfcDate()

static rfcDate ( )
static

Return an RFC 822 formatted date. @access public

Returns
string

◆ secureHeader()

secureHeader (   $str)

Strip newlines to prevent header injection. @access public

Parameters
string$str
Returns
string
Here is the caller graph for this function:

◆ send()

send ( )

Create a message and send it. Uses the sending method specified by $Mailer.

Exceptions
phpmailerException
Returns
boolean false on error - See the ErrorInfo property for details of the error.
Here is the call graph for this function:

◆ sendmailSend()

sendmailSend (   $header,
  $body 
)
protected

Send mail using the $Sendmail program.

Parameters
string$headerThe message headers
string$bodyThe message body
See also
PHPMailer::$Sendmail
Exceptions
phpmailerException@access protected
Returns
boolean
Here is the call graph for this function:
Here is the caller graph for this function:

◆ serverHostname()

serverHostname ( )
protected

Get the server hostname. Returns 'localhost.localdomain' if unknown. @access protected

Returns
string
Here is the caller graph for this function:

◆ set()

set (   $name,
  $value = '' 
)

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’;` @access public

Parameters
string$nameThe property name to set
mixed$valueThe value to set the property to
Returns
boolean @TODO Should this not be using the __set() magic function?
Here is the call graph for this function:

◆ setError()

setError (   $msg)
protected

Add an error message to the error container. @access protected

Parameters
string$msg
Returns
void
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setFrom()

setFrom (   $address,
  $name = '',
  $auto = true 
)

Set the From and FromName properties.

Parameters
string$address
string$name
boolean$autoWhether to also set the Sender address, defaults to true
Exceptions
phpmailerException
Returns
boolean
Here is the call graph for this function:

◆ setLanguage()

setLanguage (   $langcode = 'en',
  $lang_path = '' 
)

Set the language for error messages. Returns false if it cannot load the language file. The default language is English.

Parameters
string$langcodeISO 639-1 2-character language code (e.g. French is "fr")
string$lang_pathPath to the language file directory, with trailing separator (slash)
Returns
boolean @access public
Here is the caller graph for this function:

◆ setMessageType()

setMessageType ( )
protected

Set the message type. PHPMailer only supports some preset message types, not arbitrary MIME structures. @access protected

Returns
void
Here is the call graph for this function:
Here is the caller graph for this function:

◆ setWordWrap()

setWordWrap ( )

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. @access public

Returns
void
Here is the call graph for this function:
Here is the caller graph for this function:

◆ sign()

sign (   $cert_filename,
  $key_filename,
  $key_pass,
  $extracerts_filename = '' 
)

Set the public and private key files and password for S/MIME signing. @access public

Parameters
string$cert_filename
string$key_filename
string$key_passPassword for private key
string$extracerts_filenameOptional path to chain certificate

◆ smtpClose()

smtpClose ( )

Close the active SMTP session if one exists.

Returns
void
Here is the caller graph for this function:

◆ smtpConnect()

smtpConnect (   $options = null)

Initiate a connection to an SMTP server. Returns false if the operation failed.

Parameters
array$optionsAn array of options compatible with stream_context_create() @uses SMTP @access public
Exceptions
phpmailerException
Returns
boolean

Reimplemented in PHPMailerOAuth.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ smtpSend()

smtpSend (   $header,
  $body 
)
protected

Send mail via SMTP. Returns false if there is a bad MAIL FROM, RCPT, or DATA input. Uses the PHPMailerSMTP class by default.

See also
PHPMailer::getSMTPInstance() to use a different class.
Parameters
string$headerThe message headers
string$bodyThe message body
Exceptions
phpmailerException@uses SMTP @access protected
Returns
boolean
Here is the call graph for this function:
Here is the caller graph for this function:

◆ textLine()

textLine (   $value)

Return a formatted mail line. @access public

Parameters
string$value
Returns
string
Here is the caller graph for this function:

◆ utf8CharBoundary()

utf8CharBoundary (   $encodedText,
  $maxLength 
)

Find the last character boundary prior to $maxLength in a utf-8 quoted-printable encoded string. Original written by Colin Brown. @access public

Parameters
string$encodedTextutf-8 QP text
integer$maxLengthFind the last character boundary prior to this length
Returns
integer
Here is the caller graph for this function:

◆ validateAddress()

static validateAddress (   $address,
  $patternselect = null 
)
static

Check that a string looks like an email address.

Parameters
string$addressThe email address to check
string | callable$patternselectA selector for the validation pattern to use :
  • auto Pick best pattern automatically;
  • pcre8 Use the squiloople.com pattern, requires PCRE > 8.0, PHP >= 5.3.2, 5.2.14;
  • 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@.nosp@m.exam.nosp@m.ple.c.nosp@m.om', 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.
Returns
boolean

@access public

Uses the same RFC5322 regex on which FILTER_VALIDATE_EMAIL is based, but allows dotless domains. 2009-2010 Michael Rushton Feel free to use and redistribute this code. But please keep this copyright notice. This is the pattern used in the HTML5 spec for validation of 'email' type form input elements. http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state-(type=email)

Here is the caller graph for this function:

◆ wrapText()

wrapText (   $message,
  $length,
  $qp_mode = false 
)

Word-wrap message. For use with mailers that do not automatically perform wrapping and for quoted-printable encoded messages. Original written by philippe.

Parameters
string$messageThe message to wrap
integer$lengthThe line length to wrap to
boolean$qp_modeWhether to run in Quoted-Printable mode @access public
Returns
string
Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ $action_function

$action_function = ''

◆ $all_recipients

$all_recipients = array()
protected

◆ $AllowEmpty

$AllowEmpty = false

◆ $AltBody

$AltBody = ''

◆ $attachment

$attachment = array()
protected

◆ $AuthType

$AuthType = ''

◆ $bcc

$bcc = array()
protected

◆ $Body

$Body = ''

◆ $boundary

$boundary = array()
protected

◆ $cc

$cc = array()
protected

◆ $CharSet

$CharSet = 'iso-8859-1'

◆ $ConfirmReadingTo

$ConfirmReadingTo = ''

◆ $ContentType

$ContentType = 'text/plain'

◆ $CustomHeader

$CustomHeader = array()
protected

◆ $Debugoutput

$Debugoutput = 'echo'

◆ $DKIM_domain

$DKIM_domain = ''

◆ $DKIM_identity

$DKIM_identity = ''

◆ $DKIM_passphrase

$DKIM_passphrase = ''

◆ $DKIM_private

$DKIM_private = ''

◆ $DKIM_private_string

$DKIM_private_string = ''

◆ $DKIM_selector

$DKIM_selector = ''

◆ $do_verp

$do_verp = false

◆ $Encoding

$Encoding = '8bit'

◆ $error_count

$error_count = 0
protected

◆ $ErrorInfo

$ErrorInfo = ''

◆ $exceptions

$exceptions = false
protected

◆ $From

$From = 'root@localhost'

◆ $FromName

$FromName = 'Root User'

◆ $Helo

$Helo = ''

◆ $Host

$Host = 'localhost'

◆ $Hostname

$Hostname = ''

◆ $Ical

$Ical = ''

◆ $language

$language = array()
protected

◆ $lastMessageID

$lastMessageID = ''
protected

◆ $LE

$LE = "\n"

◆ $Mailer

$Mailer = 'mail'

◆ $mailHeader

$mailHeader = ''
protected

◆ $message_type

$message_type = ''
protected

◆ $MessageDate

$MessageDate = ''

◆ $MessageID

$MessageID = ''

◆ $MIMEBody

$MIMEBody = ''
protected

◆ $MIMEHeader

$MIMEHeader = ''
protected

◆ $Password

$Password = ''

◆ $PluginDir

$PluginDir = ''

◆ $Port

$Port = 25

◆ $Priority

$Priority = null

◆ $Realm

$Realm = ''

◆ $RecipientsQueue

$RecipientsQueue = array()
protected

◆ $ReplyTo

$ReplyTo = array()
protected

◆ $ReplyToQueue

$ReplyToQueue = array()
protected

◆ $ReturnPath

$ReturnPath = ''

◆ $Sender

$Sender = ''

◆ $Sendmail

$Sendmail = '/usr/sbin/sendmail'

◆ $sign_cert_file

$sign_cert_file = ''
protected

◆ $sign_extracerts_file

$sign_extracerts_file = ''
protected

◆ $sign_key_file

$sign_key_file = ''
protected

◆ $sign_key_pass

$sign_key_pass = ''
protected

◆ $SingleTo

$SingleTo = false

◆ $SingleToArray

$SingleToArray = array()

◆ $smtp

$smtp = null
protected

◆ $SMTPAuth

$SMTPAuth = false

◆ $SMTPAutoTLS

$SMTPAutoTLS = true

◆ $SMTPDebug

$SMTPDebug = 0

◆ $SMTPKeepAlive

$SMTPKeepAlive = false

◆ $SMTPOptions

$SMTPOptions = array()

◆ $SMTPSecure

$SMTPSecure = ''

◆ $Subject

$Subject = ''

◆ $Timeout

$Timeout = 300

◆ $to

$to = array()
protected

◆ $uniqueid

$uniqueid = ''
protected

◆ $Username

$Username = ''

◆ $UseSendmailOptions

$UseSendmailOptions = true

◆ $validator

$validator = 'auto'
static

◆ $Version

$Version = '5.2.28'

◆ $WordWrap

$WordWrap = 0

◆ $Workstation

$Workstation = ''

◆ $XMailer

$XMailer = ''

◆ CRLF

const CRLF = "\r\n"

SMTP RFC standard line ending.

◆ MAX_LINE_LENGTH

const MAX_LINE_LENGTH = 998

◆ STOP_CONTINUE

const STOP_CONTINUE = 1

Error severity: message, likely ok to continue processing.

◆ STOP_CRITICAL

const STOP_CRITICAL = 2

Error severity: message, plus full stop, critical error reached.

◆ STOP_MESSAGE

const STOP_MESSAGE = 0

Error severity: message only, continue processing.


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