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
# 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 a component property. |
__isset() (opens new window) | Checks if a property is set, i.e. defined and not null. |
__set() (opens new window) | Sets the value of a component property. |
__unset() (opens new window) | Sets a component property to be 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 for this component. |
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
$key
(string (opens new window)) – The email key$variables
(array (opens new window)) – Any variables that should be passed to the email body template
Returns
craft\mail\Message – The new email message
Throws
- yii\base\InvalidConfigException (opens new window)
if messageConfig (opens new window) or\craft\mail\class
is not configured to use craft\mail\Message
# 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
$message
(yii\mail\MessageInterface (opens new window)) – Email message instance to be sent
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. |
# Events
# EVENT_BEFORE_PREP
- Type
- yii\mail\MailEvent (opens new window)
- Since
- 3.6.5
The event that is triggered before a message is prepped to be sent.