delboy1978uk / bone-mail
Bone框架的邮件包
v1.2.2
2024-05-06 16:10 UTC
Requires
- php: ^8.2
- delboy1978uk/bone: ^3.9
- laminas/laminas-mail: ^2.22
- laminas/laminas-servicemanager: ^3.3
Requires (Dev)
- delboy1978uk/dev-tools: ^1.0
- roave/security-advisories: dev-master
README
邮件
Bone框架的邮件包
安装
使用Composer
composer require delboy1978uk/bone-mail
使用
简单地将它添加到config/packages.php
<?php // use statements here use Bone\Mail\MailPackage; return [ 'packages' => [ // packages here..., MailPackage::class, ], // ... ];
在配置文件夹中添加一个config/mail.php
。
<?php // the docker dev box uses these Mailhog settings return [ 'mail' => [ 'name' => 'mail', // or 127.0.0.1 etc 'host' => 'mail', // or localhost etc 'port' => 1025, // or 25 ], ];
发送邮件
任何需要使用Bone\Mail\Service\MailService
设置的类都可以通过你的包类注入(记得添加一个使用完整类的use语句)。
$mailService = $c->get(MailService::class);
关于setTemplate()
方法,请参阅league/plates
文档,以及delboy1978uk/bone-user
示例。在setViewData()
中设置的变量将传递到你的视图模板。
$mail = new EmailMessage(); $mail->setTo($email); $mail->setSubject($subject); $mail->setTemplate('email.user::user_registration/change_email'); $mail->setViewData([ 'siteUrl' => $env->getSiteURL(), 'logo' => $this->getSiteConfig()->getEmailLogo(), 'resetLink' => '/user/reset-email/' . $email . '/' . $newEmail . '/' . $token, ]); $this->mailService->sendEmail($mail);