symfony 邮件程序中的多个 smtp 服务器

Multiple smtp servers in symfony mailer

我正在尝试使用 Symfony 邮件程序组件配置发送电子邮件。它与一个 DNS(我的 .env 文件中有)完美配合。 但是我想要其中的 2 个。 我该如何配置它?我在文档中没有发现任何合理的内容。

这是我的 mailer.YAML

framework:
    mailer:
        dsn: '%env(MAILER_DSN)%'

我想要这样的东西:

    framework:
        mailer_default:
            dsn: '%env(MAILER_DSN1)%'
        mailer_second:
            dsn: '%env(MAILER_DSN2)%'

但不幸的是,这样的选择是不可能的。

您可以根据文档发送到多个传输here

例子,像这样:

# config/packages/mailer.yaml
framework:
    mailer:
        transports:
            main: '%env(MAILER_DSN)%'
            alternative: '%env(MAILER_DSN_IMPORTANT)%'

默认使用第一个传输。可以通过添加 X-Transport header(Mailer 会自动从最终电子邮件中删除)来选择其他传输方式:

// Send using first transport ("main"):
$mailer->send($email);

// ... or use the transport "alternative":
$email->getHeaders()->addTextHeader('X-Transport', 'alternative');
$mailer->send($email);