disjfa/mail-bundle

symfony 的邮件插件,也可以用于 glynn-admin-symfony

安装: 11

依赖: 0

建议者: 0

安全: 0

星星: 2

关注者: 2

分支: 0

开放问题: 0

语言:CSS

类型:symfony-bundle

0.1.4 2019-11-21 20:21 UTC

This package is auto-updated.

Last update: 2024-09-22 06:43:45 UTC


README

Check on packagist MIT License

Watch on GitHub Star on GitHub Tweet

为什么这个插件在这里

在每一个项目中,我都需要建立一个发送邮件的方式。现在 symfony 已经发布了 Mime 组件Mailer 组件。让我们看看我们能为发送邮件的人做些什么来使生活更轻松。

安装

composer require disjfa/mail-bundle

设置接口

config/routes/disjfa_mail.yaml 中设置路由。在这里你可以编辑应用中的邮件设置。

disjfa_mail:
    resource: '@DisjfaMailBundle/Controller/'
    type: annotation
    prefix: '/admin'

创建自己的模板

创建一个扩展 MailInterface 的类。按照你的需求实现名称、主题和内容。你可以注入 Translator 来添加简单的翻译或 twig 的 Environment 来渲染模板。

<?php
namespace Disjfa\MailBundle\Mail;

interface MailInterface
{
    public function getName();
    public function getSubject();
    public function getContent();
}

在你的模板中不应该有 twig 变量。需要转义它们,如下所示:{{ '{{' }} email {{ '}}' }}。所有使用的变量都会被解析和收集。原始变量是唯一应该使用的变量。

如果你创建了一个类,它将被自动加载到 MailCollection 集合中。如果你为接口设置了某些路由,它将是可编辑的。

发送邮件

接下来是发送邮件。在你的代码中,只需创建一个消息或函数来设置邮件。

use Disjfa\MailBundle\Mail\MailFactory;
use Disjfa\MailBundle\Mail\MailService;

function myFunction(MailFactory $mailFactory, MailService $mailService)
{
    $mail = $mailFactory->findByName('name');
    $mailService->send($mail, [
         'param1' => 'value',
         'param2' => 'value',
    ], 'info@example.com');
}

完成了!邮件已发送。现在是你设置邮件并在应用中添加更多功能的时候了。

扩展模板

你可以按原样管理模板。但你可能想要将文件集成到自己的系统中。只需在应用中创建一个文件 templates/bundles/DisjfaMailBundle/layout.html.twig 并添加一个主体块。

<!doctype html>
<html>
<head>
...
</head>
<body>
{% block body %}

{% endblock %}
</body>
</html>

然后你就准备好了。或者你可以扩展你自己的模板。只需确保你使用了一个名为 body 的块。你也可以根据需要扩展其余的文件。只需按照我们设置文件的方式命名它们。

缺少一点

缺少一点是发送邮件。我们不必设置应用程序的邮件部分。你可以自己完成。请检查 传输 了解如何设置你自己的邮件发送者。

这就是全部了。

现在你可以创建自己的邮件。设置它们。创建一个发送邮件的方法。当你的最喜欢的邮件发送者设置好之后,你就可以发送它们了!

帮助

这个插件是扩展你的工作流程的一种好方法。但它可以改进。如果你有任何想法或解决方案,请不要犹豫,告诉我们!我们只能让东西变得更好。

享受吧!

使用这个插件。检查它做什么。分支。创建你自己的。这里只是为了让我们的生活更轻松。创造一些美好的东西。