我无法通过控制台命令使用 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: ~
问题是使用~
or null
实际上并没有关闭线轴,但它使用了默认值{cache: file, path: %kernel.cache_dir%/swiftmailer/spool }
有没有办法仅通过更改参数来禁用线轴,或者有更好的方法吗?
显然,禁用电子邮件假脱机的唯一方法是从配置文件中完全删除假脱机条目。一旦将假脱机条目包含在主配置文件中,就无法禁用特定环境的假脱机功能。
也就是说,您可以完成与您建议的相反的操作:您可以默认禁用电子邮件假脱机并在特定环境中启用它。
把它留在外面config.yml
:
swiftmailer:
transport: %mailer_transport%
host: %mailer_host%
port: %mailer_port%
username: %mailer_user%
password: %mailer_password%
并将其包含在config_prod.yml
:
swiftmailer:
spool: %mailer_spool_type%
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)