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);
我正在尝试使用 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);