-
Notifications
You must be signed in to change notification settings - Fork 4
AlexFloppy edited this page Jan 27, 2015
·
5 revisions
Used for work with mail templates. Available management using dashboard crud.
- id - entity primary key
- alias - unique template alias
- description -template discription
- subject - mail subject
- fromEmail - author email
- fromName - author name
- bodyHtml - template body html
- bodyText - template body text
- created - created timestamp
- updated - last updated timestamp
/** @var \Mail\Service\Mail $mailService */
$mailService = $this->getServiceLocator()->get('\Mail\Service\Mail');
/** @var \Mail\Entity\Mail $template */
$template = $mailService->getTemplate('sign-up');
// generate confirm url
$confirmUrl = 'http://your-host/confirm_code';
// asigned value $confirmUrl will replace $template value %confirm%
$mailService->assign($template, 'confirm', $confirmUrl);
/** @var \User\Entity\User $user */
$user = new \User\Entity\User();
// set user email, will be used for setTo() method
$user->setEmail('user@user.com');
// compare $template and $user data and set to the \Zend\Mail\Message()
$message = $mailService->prepareMessage($template, $user);
// send message using \Zend\Mail\Transport\Sendmail()
$mailService->send($message);Module is using global options section 'mail':
'mail' => array(
'transport' => array(
'options' => array(
'host' => '%host%',
'port' => '%port%',
),
),
'message' => array(
'headers' => array(
'PROJECT' => '%project%',
'EMAILS' => '%mail%'
),
'from' => array ('admin@zfury.com')
)
)User's sign-up and forgot-password mail are sending from User module by default. You can set module Mail as default mail sender for all mails including these by adding option to the config:
'mailOptions' => array(
'useModuleMail' => true
)