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

And*_*hoi 1 php symfony symfony-mailer

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

这是我的邮件程序.YAML

framework:
    mailer:
        dsn: '%env(MAILER_DSN)%'
Run Code Online (Sandbox Code Playgroud)

我想要这样的东西:

    framework:
        mailer_default:
            dsn: '%env(MAILER_DSN1)%'
        mailer_second:
            dsn: '%env(MAILER_DSN2)%'
Run Code Online (Sandbox Code Playgroud)

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

Bos*_*man 7

您可以根据此处的文档发送到多个传输

例子,像这样:

# config/packages/mailer.yaml
framework:
    mailer:
        transports:
            main: '%env(MAILER_DSN)%'
            alternative: '%env(MAILER_DSN_IMPORTANT)%'
Run Code Online (Sandbox Code Playgroud)

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

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

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