使用Swiftmailer发送电子邮件时,我有一种奇怪的行为 这里是参数:
#Swiftmailer parameters @ app/config/parameters.yml
parameters:
mailer_transport: smtp
mailer_host: ssl0.ovh.net
mailer_user: my_account@my_domain.com
mailer_password: my_account_password
mailer_port: 465
auth_mode: plain
encryption: ssl
配置
# Swiftmailer Configuration @ app/config/config.yml
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
port: "%mailer_port%"
encryption: "%encryption%"
auth_mode: "%auth_mode%"
现在是控制器和动作
class MailTestController extends Controller
{
public function SymfonyParamatersAction()
{
$message=\Swift_Message::newInstance()
->setSubject('smtp test with sm params')
->setFrom('my_account@my_domain.com')
->setTo('my_account@gmail.com')
->setBody('this is a test')
;
$result =$this->get('mailer')->send($message);
dump($this->get('mailer')->getTransport());die;
//return $this->render('...');;
}
}
所以在探查器中我收到了一封电子邮件,但我没有收到任何邮件 我将此操作添加到我的控制器
public function DirectParamatersAction()
{
$transport = \Swift_SmtpTransport::newInstance('ssl0.ovh.net', 465,'ssl')
->setUsername('my_account@my_domain.com')
->setPassword('my_account_password')
;
$transport->start();
$mailer = \Swift_Mailer::newInstance($transport);
$message=\Swift_Message::newInstance()
->setSubject('smtp test with direct params')
->setFrom('my_account@my_domain.com')
->setTo('my_account@gmail.com')
->setBody('this is a test')
;
$result =$mailer->send($message);
dump($transport);die;
return $this->render('.........');
}
通过这个动作,我收到了留言
有趣的部分(奇怪的行为)是在运行这些动作时,我得到不同的结果:
1 =>消息发送
2 =>预期的响应代码250,但得到代码" 235",消息" 235 ok,继续(#2.0.0)
3 =>无法与主机ssl0.ovh.net建立连接[连接超时#110]
每次更改配置时我都会清理缓存
我必须一次又一次地重新加载页面以发送消息
我的问题是参数和第一个动作有什么问题?
其次如何避免这种奇怪的行为?
答案 0 :(得分:0)
问题出在app / conf / config_dev.yml
中的旧配置中