【发布时间】:2016-04-03 17:06:54
【问题描述】:
我无法让文件假脱机与 Symfony 2 和 Swiftmailer 一起正常工作。
这是我的配置
# Swiftmailer Configuration
swiftmailer:
transport: %mailer_transport%
host: %mailer_host%
username: %mailer_user%
password: %mailer_password%
spool:
type: file
path: '%kernel.root_dir%/spool'
port: %mailer_port%
encryption: %mailer_encryption%
sender_address: %mailer_sender_address%
当我发送电子邮件时,会在 app/spool/default/ 中创建一个文件
然后我运行
php app/console swiftmailer:spool:send
并获得此响应
[2015-12-29 18:54:40] Processing default mailer... 1 emails sent
看起来它已经工作了,但没有发送任何内容,并且 /var/log/mail.log 没有显示任何新电子邮件。
当我将配置设置为内存假脱机时,电子邮件正常工作,我只更改了 config.yml
swiftmailer:
spool: { type: memory }
改为
swiftmailer:
spool:
type: file
path: '%kernel.root_dir%/spool'
我正在使用 sendgrid 和 postfix 来实际发送电子邮件,但我不确定电子邮件是否会到达 postfix,所以这可能没有任何区别。
【问题讨论】:
-
你用 symfony 2.8 或 3.0 测试过吗?反序列化电子邮件文件内容时,这可能是一个内部错误。此外,即使您说将类型设置为内存时它也有效,您也应该尝试使用 gmail smtp。
-
我还没有尝试过其他版本。但是基于我遇到的类似问题(在命令中使用内存假脱机),我怀疑这是我为我的邮件获取的传输的问题。在我的另一个问题中,当命令终止并刷新队列时,我不断收到 NullTransport。
-
我尝试使用您提供的确切配置重现该错误,但没有运气。可能问题出在其他地方。
-
您的控制台命令是否在正确的环境中运行?您是否有 swift mailer 的备用开发设置以不实际发送电子邮件?
-
正如@Codezilla 提到的,检查你没有:
disable_delivery: true在你正在使用的环境的 config.yml 文件中
标签: symfony swiftmailer symfony-2.7