Swiftmailer中不存在参数



在尝试配置内存和;Symfony 4.3应用程序中的假脱机邮件程序我按照文档创建了这个配置:

swiftmailer:
default_mailer: memory
mailers:
memory:
sender_address: 'admin@bogus.info'
transport:        smtp
username:         admin@bogus.info
password:         123Abcd
host:             localhost
spool: { type: 'memory' }
spooler:
sender_address: 'admin@bogus.info'
transport:        smtp
username:         admin@bogus.info
password:         123Abcd
host:             localhost
spool:
type: file
path: '%kernel.project_dir%/var/spool'

在役。yaml:

AppServicesEmailer:
$spoolMailer: '%swiftmailer.mailer.spooler%'
$defaultMailer: '%swiftmailer.default_mailer%'
$senderAddress: '%swiftmailer.mailer.memory_mailer.sender_address%'
$projectDir: '%kernel.project_dir%'

但对于服务中的这四个参数,php bin/console debug:container:会出现以下情况

服务"App\Services\Emailer"依赖于不存在的参数"swiftmailer.mailer.spooler"…

为什么此配置不起作用?

服务"App\Services\Emailer"依赖于不存在的参数"swiftmailer.mailer.spooler"…

使用%符号环绕参数,可以将传递给您的服务。

当您想要注入服务时,您应该在参数前面加上@符号。

此外,要获得默认的邮件服务,您必须注入@swiftmailer.mailer

编辑:检索发件人地址的正确方式:%swiftmailer.mailer.memory.sender_address%


更新的服务定义:

AppServicesEmailer:
$spoolMailer:   '@swiftmailer.mailer.spooler'
$defaultMailer: '@swiftmailer.mailer'
$senderAddress: '%swiftmailer.mailer.memory.sender_address%'
$projectDir:    '%kernel.project_dir%'

最新更新