Mail

Extends PHPMailer Implements MailerInterface

Email Class. Provides a common interface to send email from the Joomla! Platform

since

1.7.0

package

Joomla CMS

Methods

__construct

Constructor

__construct( exceptions = true) : 
since

1.7.0

Arguments

exceptions

boolFlag if Exceptions should be thrown

Response

mixed

add

Add recipients to the email.

add( recipient,  name = '',  method = 'addAddress') : \Joomla\CMS\Mail\Mail|bool
since

1.7.0

throws

InvalidArgumentExceptionif the argument array counts do not match

Exceptionif setting the address failed and exception throwing is enabled

Arguments

recipient

mixedEither a string or array of strings [email address(es)]

name

mixedEither a string or array of strings [name(s)]

method

stringThe parent method's name.

Response

Mail|boolReturns this object for chaining on success or boolean false on failure.

addAttachment

Add file attachment to the email

addAttachment( path,  name = '',  encoding = 'base64',  type = 'application/octet-stream',  disposition = 'attachment') : \Joomla\CMS\Mail\Mail|bool
since

3.0.1

throws

InvalidArgumentExceptionif the argument array counts do not match

Exceptionif setting the attachment failed and exception throwing is enabled

Arguments

path

mixedEither a string or array of strings [filenames]

name

mixedEither a string or array of strings [names]. N.B. if this is an array it must contain the same number of elements as the array of paths supplied.

encoding

mixedThe encoding of the attachment

type

mixedThe mime type

disposition

stringThe disposition of the attachment

Response

Mail|boolReturns this object for chaining on success or boolean false on failure when exception throwing is disabled.

addBcc

Add blind carbon copy recipients to the email

addBcc( bcc,  name = '') : \Joomla\CMS\Mail\Mail|bool
since

1.7.0

throws

Exceptionif exception throwing is enabled

Arguments

bcc

mixedEither a string or array of strings [email address(es)]

name

mixedEither a string or array of strings [name(s)]

Response

Mail|boolReturns this object for chaining on success or boolean false on failure when exception throwing is disabled.

addCc

Add carbon copy recipients to the email

addCc( cc,  name = '') : \Joomla\CMS\Mail\Mail|bool
since

1.7.0

throws

Exceptionif exception throwing is enabled

Arguments

cc

mixedEither a string or array of strings [email address(es)]

name

mixedEither a string or array of strings [name(s)]

Response

Mail|boolReturns this object for chaining on success or boolean false on failure when exception throwing is enabled.

addRecipient

Add recipients to the email

addRecipient( recipient,  name = '') : \Joomla\CMS\Mail\Mail|bool
since

1.7.0

throws

Exceptionif exception throwing is enabled

Arguments

recipient

mixedEither a string or array of strings [email address(es)]

name

mixedEither a string or array of strings [name(s)]

Response

Mail|boolReturns this object for chaining on success or false on failure when exception throwing is disabled.

addReplyTo

Add Reply to email address(es) to the email

addReplyTo( replyto,  name = '') : \Joomla\CMS\Mail\Mail|bool
since

1.7.0

throws

Exceptionif exception throwing is enabled

Arguments

replyto

mixedEither a string or array of strings [email address(es)]

name

mixedEither a string or array of strings [name(s)]

Response

Mail|boolReturns this object for chaining on success or boolean false on failure when exception throwing is disabled.

clearAttachments

Unset all file attachments from the email

clearAttachments() : \Joomla\CMS\Mail\Mail
since

3.0.1

Response

MailReturns this object for chaining.

getInstance

Returns the global email object, only creating it if it doesn't already exist.

getInstance( id = 'Joomla',  exceptions = true) : \Joomla\CMS\Mail\Mail
static deprecated

NOTE: If you need an instance to use that does not have the global configuration values, use an id string that is not 'Joomla'.

since

4.4.0

deprecated

4.4.0 will be removed in 6.0 Use the mailer service in the DI container and create a mailer from there Example: Factory::getContainer()->get(MailerFactoryInterface::class)->createMailer();

Arguments

id

stringThe id string for the Mail instance [optional]

exceptions

boolFlag if Exceptions should be thrown [optional]

Response

MailThe global Mail object

isHtml

Sets message type to HTML

isHtml( ishtml = true) : \Joomla\CMS\Mail\Mail
since

3.1.4

Arguments

ishtml

boolBoolean true or false.

Response

MailReturns this object for chaining.

isSendmail

Send messages using $Sendmail.

isSendmail() : 

This overrides the parent class to remove the restriction on the executable's name containing the word "sendmail"

since

1.7.0

Response

void

removeAttachment

Unset file attachments specified by array index.

removeAttachment( index) : \Joomla\CMS\Mail\Mail
since

3.0.1

Arguments

index

intThe numerical index of the attachment to remove

Response

MailReturns this object for chaining.

Send

Send the mail

Send() : 
since

1.7.0

throws

MailDisabledExceptionif the mail function is disabled

Exceptionif sending failed

Response

boolBoolean true if successful, false if exception throwing is disabled.

sendMail

Function to send an email

sendMail( from,  fromName,  recipient,  subject,  body,  mode = false,  cc = null,  bcc = null,  attachment = null,  replyTo = null,  replyToName = null) : 
since

1.7.0

throws

MailDisabledExceptionif the mail function is disabled

Exceptionif exception throwing is enabled

Arguments

from

stringFrom email address

fromName

stringFrom name

recipient

mixedRecipient email address(es)

subject

stringemail subject

body

stringMessage body

mode

boolfalse = plain text, true = HTML

cc

mixedCC email address(es)

bcc

mixedBCC email address(es)

attachment

mixedAttachment file name(s)

replyTo

mixedReply to email address(es)

replyToName

mixedReply to name(s)

Response

boolTrue on success, false on failure when exception throwing is disabled.

setBody

Set the email body

setBody( content) : \Joomla\CMS\Mail\Mail
since

1.7.0

Arguments

content

stringBody of the email

Response

MailReturns this object for chaining.

setSender

Set the email sender

setSender( from,  name = '') : \Joomla\CMS\Mail\Mail|bool
since

1.7.0

throws

UnexpectedValueExceptionif the sender is not a valid address

Exceptionif setting the sender failed and exception throwing is enabled

Arguments

from

mixedemail address and Name of sender array([0] => email Address, [1] => Name) or as a string

name

mixedEither a string or array of strings [name(s)]

Response

Mail|boolReturns this object for chaining on success or boolean false on failure.

setSubject

Set the email subject

setSubject( subject) : \Joomla\CMS\Mail\Mail
since

1.7.0

Arguments

subject

stringSubject of the email

Response

MailReturns this object for chaining.

useSendmail

Use sendmail for sending the email

useSendmail( sendmail = null) : 
since

1.7.0

Arguments

sendmail

stringPath to sendmail [optional]

Response

boolTrue on success

useSmtp

Use SMTP for sending the email

useSmtp( auth = null,  host = null,  user = null,  pass = null,  secure = null,  port = 25) : 
since

1.7.0

Arguments

auth

stringSMTP Authentication [optional]

host

stringSMTP Host [optional]

user

stringSMTP Username [optional]

pass

stringSMTP Password [optional]

secure

stringUse secure methods

port

intThe SMTP port

Response

boolTrue on success

Properties

instances

Mail instances container.

static deprecated
since

1.7.3

deprecated

4.4.0 will be removed in 6.0 See getInstance() for more details

Type(s)

array<string|int, Mail>

CharSet

Charset of the message.

since

1.7.0

Type(s)

string