Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 生产环境中的Symfony swiftmailer_Php_Email_Symfony_Production Environment_Swiftmailer - Fatal编程技术网

Php 生产环境中的Symfony swiftmailer

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

我在Symfony2中使用Swiftmailer发送邮件时遇到问题。 让我解释一下:当我使用app_dev.php访问我的网站时,我可以发送消息,这没有问题(同样,当我在app.php中编写
$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的新配置。现在,我觉得自己很愚蠢。谢谢:)既然这样做有效,你能检查一下我补充的答案吗。你不是唯一一个发生这种情况的人:)