我正在开发一个Silex项目,我正在尝试使用Swiftmailer提供程序发送电子邮件,但总是收到内部服务器错误(500)。
注册:
$app->register(new Silex\Provider\SwiftmailerServiceProvider(), array(
'swiftmailer.options' => array(
'host' => 'smtp.gmail.com',
'port' => '465',
'username' => 'my_email',
'password' => 'my_password')
));
如果我调用邮件程序$ app ['mailer']会抛出内部服务器错误。
如果我尝试使用文档示例,则会出现内部服务器错误:
$app->post('/feedback', function () use ($app) {
$request = $app['request'];
$message = \Swift_Message::newInstance()
->setSubject('[YourSite] Feedback')
->setFrom(array('noreply@yoursite.com'))
->setTo(array('feedback@yoursite.com'))
->setBody($request->get('message'));
$app['mailer']->send($message);
return new Response('Thank you for your feedback!', 201);
});
我不知道问题是什么,我对其他提供商没有麻烦。
有什么想法吗?
答案 0 :(得分:0)
在'swiftmailer.options'数组中添加以下条目会有帮助吗?默认情况下,Gmail在端口465上使用ssl。
'encryption' => 'ssl',
'auth_mode' => 'login',
[<强>更新强>] 如果在代码中定义名称空间,则需要在Silex \ Provider ..
前添加“\”$this->register(new Silex\Provider\SwiftmailerServiceProvider(), array(
到
$this->register(new \Silex\Provider\SwiftmailerServiceProvider(), array(