felds / quick-mailer-bundle
5.1.0
2018-07-10 04:40 UTC
Requires
- php: ^7.1
- psr/log: ^1.0
- symfony/config: ^4.0
- symfony/dependency-injection: ^4.0
- symfony/http-kernel: ^4.0
- symfony/swiftmailer-bundle: ^3.0
- symfony/twig-bundle: ^4.0
Requires (Dev)
- phpunit/phpunit: ^6.5
- symfony/yaml: ^4.0
README
此包提供了一个易于配置的界面,用于发送事务性电子邮件,而无需每次都从头开始构建消息。
设计上它具有有限的范围,不是无限可配置的,也不适用于典型Symfony安装之外。
安装
步骤 0:开始之前
QuickMailer底层使用Twig作为模板引擎,SwiftMailer实际发送消息,Monolog监控发生的情况。
请确保这三个包已安装并正确配置。
步骤 1:下载包
打开终端,cd
到你的项目目录,并执行以下命令下载此包的最新稳定版本
composer require felds/quick-mailer-bundle
此命令要求你全局安装了Composer,如Composer文档中的安装章节所述。
如果你使用Symfony Flex并且已启用contrib配方,则一切就绪。
配置
待完成
使用
步骤 1:创建模板
使用此包,整个消息由一个单独的twig模板组成。
典型的消息看起来像这样
{# templates/email/cookie.html.twig #} {% block subject %} Hey, {{ name|title }}! You've got a cookie! {% endblock %} {% block html %} <p> <strong>{{ name|title }}</strong>, take this delicious <em>{{ flavor }}</em> cookie! </p> {% endblock %} {% block text %} {{ name|title }}, take this delicious {{ flavor }} cookie! {% endblock %}
当然,你可以使用includes、extends以及Twig上所有其他可用的功能(甚至是你自己的扩展!)。只需记住,每个主要块(subject
、html
和 text
)都是单独渲染的,它们彼此不可见。例如,在 html
块外部声明的 set
将在内部不起作用。
步骤 2:将其添加到配置中
# config/packages/felds_quickmailer.yaml felds_quickmailer: # ... templates: cookie: email/cookie.html.twig
步骤 3:发送电子邮件
<?php use Felds\QuickMailerBundle\Model\Mailable; use Felds\QuickMailerBundle\QuickMailer; class FooController { public function barAction(QuickMailer $qm) { $recipient = new Mailable('Recipient', 'recipient@example.com'); $qm->get('cookie')->sendTo($recipient, [ 'name' => $recipient->getName(), 'flavor' => 'blueberry', ]); } }
待完成
代码
- 添加测试
文档
- 配置参考
- 如何与其他工具集成的示例
- 指南