2013-04-24 222 views
1

我想用symfony和gmail发送电子邮件。我的意思是发件人和收件人都使用Gmail。 我配置了config.yml如下:如何通过gmail发送电子邮件与symfony2?

swiftmailer: 
    transport: gmail 
    encryption: ssl 
    auth_mode: login 
    host:  smtp.gmail.com 
    username: username 
    password: pass 
    spool:  { type: memory } 






$message = \Swift_Message::newInstance() 
      ->setSubject('Hello Email') 
      ->setFrom('[email protected]') 
      ->setTo('[email protected]') 
      ->setBody('hello') 

这段代码是否正确?

的其他说明: 当我加入这个代码,它的工作

$form = $this->get('form.factory')->create(new xxxType(), array('key' => 'var')); 

但这个它没有

$form = $this->createForm(new xxxType(),$entity); 
+0

我实际用于发送者和接收者相同的帐户,但我没有收到任何 – user2269869 2013-04-24 09:30:23

+0

使用相同的帐户发送者和接收者可能无法与gmail一起工作 - 它往往会过滤掉你自己的消息(尽管搜索可能会把它变成)。最好创建一个单独的gmail帐户来提供消息。在任何情况下,您都不希望在该配置文件中以纯文本形式输入真实的Gmail帐户密码。 – redbirdo 2013-04-24 09:58:00

+0

我不知道symfony2,但对我来说看起来像你创建的消息,但你不发送它,所以我认为你需要做一些像$ message.send() – 2013-04-24 09:58:53

回答

1

您正在使用spool,这延迟发送电子邮件,直到你实际上通过app/console命令发送电子邮件。这些邮件一直保存在内存中,正如之前链接的文档中所述。

为了发送电子邮件,您应该停止使用假脱机,或手动发送它们。

+0

我评论了线轴:{type:memory} 500内部服务器,但我得到以下错误:错误 - Swift_TransportException @Ethena – user2269869 2013-04-24 10:13:15

+0

异常说什么?没有一些细节,很难说出什么问题以及你应该改变什么......请更新你的帖子,你做了什么,结果是什么。 – DRvanR 2013-04-24 20:10:20

+0

这是提交表单后显示的消息=> 500内部服务器错误 - Swift_TransportException @Ethena – user2269869 2013-04-25 07:40:14

相关问题