0

我想通过接口指定 SMTP 服务器设置(主机、端口、密码等)并将它们存储在数据库表中,以便用户可以在无需开发人员干预的情况下进行更改。

如何使用邮件程序组件完成此操作?

4

1 回答 1

0

两种情况:

第一:您在数据库上有多个配置,并且您想从提供商列表中选择如何发送电子邮件

您可以实现一个传输 ( Symfony\Component\Mailer\Transport\TransportInterface),它从 db 检索正确的 SMTP 设置,在消息头中传递提供者名称或 id(请记住在发送之前删除头)。

或者,您可以将 Mailer 用作独立组件,而不是在框架中集成(自动配置和自动装配)的一个组件上进行中继。Symfony\Component\Mailer\Mailer在这种情况下,当您想要发送邮件时,您必须使用适当的传输实例化一个新类。

第二:您的数据库中只有一个提供商,您只想能够在运行时更改 SMTP 设置

您可以中继框架集成,实现您自己的传输,该传输从 db 检索设置并创建委托传输以有效发送消息。

于 2021-02-24T10:54:55.943 回答