luyadev / luya-mailjet
1.9.1
2022-06-28 11:39 UTC
Requires
- luyadev/luya-core: >=1.0.25
- mailjet/mailjet-apiv3-php: ^1.3
Requires (Dev)
- luyadev/luya-testsuite: ^2.0
- vlucas/phpdotenv: ^2.5
README
LUYA Mailjet
LUYA和Yii框架集成的Mailjet服务。
包含
- Yii框架BaseMailer,用于通过API发送交易电子邮件。
- 订阅邮件同步的接口,包括用于同步的CLI命令。
- 一个PHP库,用于将MJML内容转换为Mailjet Passport json格式。
- LUYA管理模块,根据MJML.io API将MJML转换为HTML。
- LUYA活动窗口,用于检索有关给定用户电子邮件的信息。
- 一个小部件,用于订阅列表(可以禁用双确认)。
- 短信发送助手
- Yii 2队列作业,用于发送带有模板的电子邮件
安装
通过composer安装扩展
composer require luyadev/luya-mailjet
添加到配置文件
'components' => [ //... 'mailjet' => [ 'class' => 'luya\mailjet\Client', 'apiKey' => '...', 'apiSecret' => '...', ], 'mailer' => [ 'class' => 'luya\mailjet\Mailer', ], ]
基本发送邮件
发送交易电子邮件
Yii::$app->mailer->compose() ->setFrom('from@domain.com') ->setTo('to@domain.com') ->setSubject('Message subject') ->setTextBody('Plain text content') ->setHtmlBody('<b>HTML content</b>') ->send();
基于存储在Mailjet中的模板ID发送交易电子邮件
Yii::$app->mailer->compose() ->setTemplate(484590) ->setVariables(['lastname' => 'Lastname Value']) ->setTo(['to@domain.com']) ->send();
MJML到HTML
在LUYA Mailjet库的1.3版本中,有一个可以配置的admin模块,可以将MJML解析为HTML。因此,将模块添加到您的配置中,并提供mjml.io API密钥。
'modules' => [ //... 'mailjetadmin' => [ 'class' => 'luya\mailjet\admin\Module', 'mjmlApiApplicationId' => 'ApplicationIdFromMjml.io', 'mjmlApiSecretKey' => 'ApplicationSecretFromMjml.io', ] ]
之后,您可以使用以下方式检索和渲染MJML模板的HTML:
luya\mailjet\models\Template::renderHtml('slug', ['foo' => 'bar']);