Mailer

Type
Class
Namespace
craft\mail
Inherits
craft\mail\Mailer » yii\swiftmailer\Mailer (opens new window) » yii\mail\BaseMailer (opens new window) » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window), yii\base\ViewContextInterface (opens new window), yii\mail\MailerInterface (opens new window)
Extended by
craft\test\TestMailer
Since
3.0.0

The Mailer component provides APIs for sending email in Craft.

An instance of the Mailer component is globally accessible in Craft via Craft::$app->mailer.

View source (opens new window)

# Public Properties

Property Description
behaviors (opens new window) yii\base\Behavior (opens new window) – List of behaviors attached to this component
enableSwiftMailerLogging (opens new window) boolean (opens new window) – Whether to enable writing of the SwiftMailer internal logs using Yii log mechanism.
fileTransportCallback (opens new window) callable (opens new window) – A PHP callback that will be called by send() (opens new window) when useFileTransport (opens new window) is true.
fileTransportPath (opens new window) string (opens new window) – The directory where the email messages are saved when useFileTransport (opens new window) is true.
from string (opens new window), array (opens new window), craft\elements\User, craft\elements\User[], null (opens new window) – The default sender’s email address, or their user model(s).
htmlLayout (opens new window) string (opens new window), boolean (opens new window) – HTML layout view name.
messageClass (opens new window) string (opens new window) – The default class name of the new message instances created by createMessage() (opens new window)
messageConfig (opens new window) array (opens new window) – The configuration that should be applied to any newly created email message instance by createMessage() (opens new window) or compose() (opens new window).
replyTo string (opens new window), array (opens new window), craft\elements\User, craft\elements\User[], null (opens new window) – The default Reply-To email address, or their user model(s).
swiftMailer (opens new window) array (opens new window), \Swift_Mailer – Swift mailer instance or array configuration.
template string (opens new window), null (opens new window) – The email template that should be used
textLayout (opens new window) string (opens new window), boolean (opens new window) – Text layout view name.
transport (opens new window) array (opens new window), \Swift_Transport
useFileTransport (opens new window) boolean (opens new window) – Whether to save email messages as files under fileTransportPath (opens new window) instead of sending them to the actual recipients.
view (opens new window) yii\web\View (opens new window) – View instance.
viewPath (opens new window) string (opens new window) – The directory that contains the view files for composing mail messages Defaults to '@app/mail'.

# from

Type
string (opens new window), array (opens new window), craft\elements\User, craft\elements\User[], null (opens new window)
Default value
null

The default sender’s email address, or their user model(s).

View source (opens new window)

# replyTo

Type
string (opens new window), array (opens new window), craft\elements\User, craft\elements\User[], null (opens new window)
Default value
null
Since
3.4.0

The default Reply-To email address, or their user model(s).

View source (opens new window)

# template

Type
string (opens new window), null (opens new window)
Default value
null

The email template that should be used

View source (opens new window)

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of an object property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets value of an object property.
__unset() (opens new window) Sets an object property to null.
afterSend() (opens new window) This method is invoked right after mail was send.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
beforeSend() (opens new window) This method is invoked right before mail send.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
compose() (opens new window) Creates a new message instance and optionally composes its body content via view rendering.
composeFromKey() Composes a new email based on a given key.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
generateMessageFileName() (opens new window)
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getSwiftMailer() (opens new window)
getTransport() (opens new window)
getView() (opens new window)
getViewPath() (opens new window)
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined.
init() (opens new window) Initializes the object.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
render() (opens new window) Renders the specified view with optional parameters and layout.
send() Sends the given email message.
sendMultiple() (opens new window) Sends multiple messages at once.
setTransport() (opens new window)
setView() (opens new window)
setViewPath() (opens new window)
trigger() (opens new window) Triggers an event.

# composeFromKey()

Composes a new email based on a given key.

Craft has four predefined email keys: account_activation, verify_new_email, forgot_password, and test_email. Plugins can register additional email keys using the registerEmailMessages (opens new window) hook, and by providing the corresponding language strings.

Craft::$app->mailer->composeFromKey('account_activation', [
    'link' => $activationUrl
]);

View source (opens new window)

Arguments

Returns

craft\mail\Message – The new email message

Throws

# send()

Sends the given email message.

This method will log a message about the email being sent. If useFileTransport (opens new window) is true, it will save the email as a file under fileTransportPath (opens new window). Otherwise, it will call sendMessage() (opens new window) to send the email to its recipient(s). Child classes should implement sendMessage() (opens new window) with the actual email sending logic.

View source (opens new window)

Arguments

Returns

boolean (opens new window) – Whether the message has been sent successfully.

# Protected Methods

Method Description
createMessage() (opens new window) Creates a new message instance.
createSwiftMailer() (opens new window) Creates Swift mailer instance.
createSwiftObject() (opens new window) Creates Swift library object, from given array configuration.
createTransport() (opens new window) Creates email transport instance by its array configuration.
createView() (opens new window) Creates view instance from given configuration.
saveMessage() (opens new window) Saves the message as a file under fileTransportPath (opens new window).
sendMessage() (opens new window) Sends the specified message.