Mail controller plugin for easy access to dot-mail service from any controller.
Run the following command in your project's root directory
$ composer require dotkernel/dot-controller-plugin-mail
This will also install packages
'dotkernel/dot-mail as dependencies.
Next, make sure you merge the
ConfigProvider to your application's configuration.
Because multiple mail services can be defined in the dot-mail module, there can also be requested as controller plugins by following the convention
//calling this plugins without parameters, will return the mail service instead, otherwise will use parameters to send directly the e-mail $this->sendMail(); //will return the default mail service $this->sendMailYourMailService(); //will return the mail service named your_mail_service
Controller mail plugins are invokable. To send an email you can use the following 2 methods
$this->sendMail(array $mailConfig)- will send a mail through a mail service configured based on the $mailConfig param. The array parameter valid keys are body, subject, to, from, cc, bcc, attachments. The body parameter can be specified as an array too in which case the $body should be the template name to use as mail template and $body should be optionally the template parameters.
$this->sendMail($body, $subject, $to, $from, $cc, $bcc, $attachments)- the parameters have the same meaning as in the previous method