Php 生产环境中的Symfony swiftmailer
我在Symfony2中使用Swiftmailer发送邮件时遇到问题。 让我解释一下:当我使用app_dev.php访问我的网站时,我可以发送消息,这没有问题(同样,当我在app.php中编写Php 生产环境中的Symfony swiftmailer,php,email,symfony,production-environment,swiftmailer,Php,Email,Symfony,Production Environment,Swiftmailer,我在Symfony2中使用Swiftmailer发送邮件时遇到问题。 让我解释一下:当我使用app_dev.php访问我的网站时,我可以发送消息,这没有问题(同样,当我在app.php中编写$kernel=new-AppKernel('prod',true);) 所以,我不明白为什么这在dev中有效,而在prod中无效 以下是我的配置文件: parameters.yml: mailer_transport: smtp mailer_host: ****.ovh.net mailer_userna
$kernel=new-AppKernel('prod',true);
)
所以,我不明白为什么这在dev中有效,而在prod中无效
以下是我的配置文件:
parameters.yml:
mailer_transport: smtp
mailer_host: ****.ovh.net
mailer_username: postmaster@mywebsite.com
mailer_password: ****
mailer_port: ****
config.yml:
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_username%"
password: "%mailer_password%"
port: "%mailer_port%"
spool: { type: memory }
这是php代码,但我认为它没有问题,因为正如我所说的,在开发模式下没有问题
$message = \Swift_Message::newInstance() -> setSubject('Test')
-> setFrom('postmaster@mywebsite.com')
-> setTo($user -> getMail())
-> setBody('Test');
$this -> get('mailer') -> send($message);
如果您知道问题出在哪里,非常感谢。如果在dev中工作,但在prod中没有工作,请尝试手动删除prod缓存目录,然后重新安装和转储资产。从文档中查看此信息。您可以查看您的prod.log并查看是否有任何错误吗?我仔细阅读了你的问题,有点困惑。你写了“所以,我不明白为什么它在prod中工作而在dev中不工作。”标题说它在prod中不工作。很抱歉这是一个错误,我想说“我不明白为什么它在dev中工作而在prod中不工作”。这是我尝试发送邮件时的日志:
[2015-03-29 11:22:44]app.ERROR:刷新电子邮件队列时发生异常:无法与主机smtp.mywebsite.com建立连接[php_network_getaddress:getaddrinfo失败:名称或服务未知#0][]
它说,它无法连接到smtp,但在dev中,有可能,这很奇怪……我建议手动删除prod缓存目录,然后重新安装和转储资产。这很有效!非常感谢!我想我忘了清空prod缓存,所以symfony不知道我对swiftmailer的新配置。现在,我觉得自己很愚蠢。谢谢:)既然这样做有效,你能检查一下我补充的答案吗。你不是唯一一个发生这种情况的人:)