我一直在尝试使用swiftmailer发送电子邮件,但是我无法这样做,我正在跟踪异常
request.CRITICAL: Uncaught PHP Exception Swift_TransportException: "Failed to authenticate on SMTP server with username "myusername@gmail.com" using 1 possible authenticators" at /home/ubuntu/Symfony/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php line 184 [] []
有谁可以告诉我在这里缺少什么?看起来认证由于某种原因失败了。
这是我的配置文件中的代码段:
swiftmailer:
transport: gmail
encryption: ssl
auth_mode: login
host: smtp.gmail.com
username: myusername@gmail.com
password: password
我的开发服务器有ubuntu v13操作系统
答案 0 :(得分:1)
尝试从config_dev.php中删除
encryption: ssl
auth_mode: login
无需指定加密:和auth_mode:如果您使用的是传输:gmail 请参阅symfony2.3 cookbook How to use Gmail to send Emails
快速而肮脏的方式来测试电子邮件选项。 初始化一个 new symfony 2.3项目,并在acme / DemoBundle的Default控制器中执行此操作。
/**
* @Route("/mail")
* @Template()
*/
public function mailAction() {
$message = \Swift_Message::newInstance()
->setSubject('Hello Email')
->setFrom('send@example.com')
->setTo('mymail@example.com')
->setBody(
$this->renderView(
'DemoBundle:Default:email.txt.twig', array('name' => 'User1')
)
)
;
$this->get('mailer')->send($message);
return array('name' => 'whatever');
}
Acme / Demo / Bundle / Resources / views / Default中的Twig模板 前端模板
mail.html.twig
{% extends '::base.html.twig' %}
{% block body %}
This is mail template
{% endblock %}
邮件模板。 email.txt.twig
This is a test email to {{name }}
转到/ mail应发送电子邮件。