我在使用Symfony2的控制台命令发送批量邮件时遇到了问题。我希望禁用邮件的暂存功能,但保持默认环境的邮件暂存功能。因此,我在config.yml中添加了以下内容:
swiftmailer:
transport: %mailer_transport%
host: %mailer_host%
port: %mailer_port%
username: %mailer_user%
password: %mailer_password%
spool: %mailer_spool_type%
然后每个环境都有它自己的参数,比如parameters_prod.yml:
parameters:
mailer_transport: smtp
mailer_host: smtp.someserver.net
mailer_port: 587
mailer_user: "someuser"
mailer_password: "somepassword"
mailer_spool_type: { type:memory }
然后对于控制台环境,我使用parameters_cron.yml参数文件:
parameters:
mailer_spool_type: ~
问题在于使用 ~
或 null
实际上并没有关闭邮件池,而是使用了默认的值:{cache: file, path: %kernel.cache_dir%/swiftmailer/spool}
是否有一种方法可以通过更改参数来禁用邮件池,或者是否有更好的方法?