disjfa / mail-bundle
symfony 的邮件插件,也可以用于 glynn-admin-symfony
Requires
- php: ^7.2.9
- ramsey/uuid: ^3
- symfony/form: ^4|^5
- symfony/mailer: ^4|^5
- symfony/mime: ^4|^5
- symfony/orm-pack: ^1.0
- symfony/translation: ^4|^5
- symfony/twig-bundle: ^4|^5
- symfony/validator: ^4|^5
- twig/cssinliner-extra: ^2.12
- twig/extra-bundle: ^2.12
- twig/inky-extra: ^2.12
This package is auto-updated.
Last update: 2024-09-22 06:43:45 UTC
README
为什么这个插件在这里
在每一个项目中,我都需要建立一个发送邮件的方式。现在 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
的块。你也可以根据需要扩展其余的文件。只需按照我们设置文件的方式命名它们。
缺少一点
缺少一点是发送邮件。我们不必设置应用程序的邮件部分。你可以自己完成。请检查 传输 了解如何设置你自己的邮件发送者。
这就是全部了。
现在你可以创建自己的邮件。设置它们。创建一个发送邮件的方法。当你的最喜欢的邮件发送者设置好之后,你就可以发送它们了!
帮助
这个插件是扩展你的工作流程的一种好方法。但它可以改进。如果你有任何想法或解决方案,请不要犹豫,告诉我们!我们只能让东西变得更好。
享受吧!
使用这个插件。检查它做什么。分支。创建你自己的。这里只是为了让我们的生活更轻松。创造一些美好的东西。