felds/quick-mailer-bundle

安装: 106

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 3

类型:symfony-bundle

5.1.0 2018-07-10 04:40 UTC

This package is auto-updated.

Last update: 2024-09-07 15:08:15 UTC


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上所有其他可用的功能(甚至是你自己的扩展!)。只需记住,每个主要块(subjecthtmltext)都是单独渲染的,它们彼此不可见。例如,在 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',
        ]);
    }
}

待完成

代码

  • 添加测试

文档

  • 配置参考
  • 如何与其他工具集成的示例
  • 指南