sfcod / email-engine
Symfony的邮件引擎
1.2.0
2022-12-16 13:52 UTC
Requires
- php: ^7.4
- symfony/dotenv: ^5.4
- symfony/framework-bundle: ^5.4
- symfony/monolog-bundle: ^3.1
- symfony/swiftmailer-bundle: ^3.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.8
- symfony/phpunit-bridge: ^5.4
This package is auto-updated.
Last update: 2024-09-12 08:14:57 UTC
README
提供使用发送者+存储库组合的队列发送带有附件的参数化电子邮件的可能性。
配置
sfcod_email_engine: main_sender: chained_sender senders: chained_sender: chain: senders: [db_swiftmailer_sender, twig_file_swiftmailer_sender] twig_file_swiftmailer_sender: sender: class: SfCod\EmailEngineBundle\Sender\SwiftMailerSender repository: class: SfCod\EmailEngineBundle\Repository\TwigFileRepository db_swiftmailer_sender: sender: class: SfCod\EmailEngineBundle\Sender\SwiftMailerSender repository: class: SfCod\EmailEngineBundle\Repository\DbRepository arguments: { entity: <entity_class>, attribute: slug } templates: - SfCod\EmailEngineBundle\Example\TestTemplate
其中“模板”部分需要用于“SfCod\EmailEngineBundle\Mailer\TemplateManager”服务以及用于参数自动注入/自动配置为服务。使用它,您可以获取所有可能的电子邮件模板参数、描述等。
<entity_class>实现SfCod\EmailEngineBundle\Entity\EmailEntityInterface
使用方法
use SfCod\EmailEngineBundle\Mailer\Mailer; use SfCod\EmailEngineBundle\Example\TestOptions; use SfCod\EmailEngineBundle\Example\TestTemplate; public function indexAction(Mailer $mailer) { $options = new TestOptions('some message', 'attachment_path'); $template = new TestTemplate($options); $mailer->send($template, 'example@email.com'); }
如果您想使用SfCod\EmailEngineBundle\Sender\SwiftMailerSender与SfCod\EmailEngineBundle\Repository\TwigFileRepository,那么您必须实现SfCod\EmailEngineBundle\Template\TwigTemplateAwareInterface。
并且TestTemplate电子邮件将通过SwiftMailerSender发送,模板数据将从DbRepository收集。如果失败,将使用SwiftMailerSender+TwigFileRepository,因为它们都列在“chained_sender”中(见配置部分)。