我已成功配置FOSUserBundle。它正确发送激活电子邮件。
我的config_dev.yml如下:
... swiftmailer: transport: gmail username: my_username@gmail.com password: my_password disable_delivery: false
我的parameters.yml如下:
parameters:
...
mailer_transport: gmail
mailer_host: null
mailer_user: my_username@gmail.com
mailer_password: my_password
当我尝试执行以下操作时,问题就开始了(非常基本):
$message = \Swift_Message::newInstance()
->setSubject('Please sign up to ProJacked!')
->setFrom('send@example.com')
->setTo($emailaddress)
->setBody($this->renderView('HR/invitationemail.txt.twig'));
$this->get('mailer')->send($message);
代码运行正常,但电子邮件是在调试模式"中发送的,所以我在分析器中看到它们但实际上并未发送。我错过了什么?我知道它非常简单:/
答案 0 :(得分:0)
在Symfony standard edition,app/config.yml
中,默认情况下,Swift将电子邮件发送到内存:
# Swiftmailer Configuration
swiftmailer:
transport: "%mailer_transport%"
host: "%mailer_host%"
username: "%mailer_user%"
password: "%mailer_password%"
spool: { type: memory }
您可以删除spool
行以防止内存假脱机。您也可以手动刷新队列(这通常是控制台命令所需的),尽管Symfony claims此步骤不再需要经过Symfony 2.3+和Swiftmailer 2.3.5 +
$spool = $mailer->getTransport()->getSpool(); // $mailer is the mailer service
$transport = $container->get('swiftmailer.transport.real');
$spool->flushQueue($transport);
最后,请确保按照此处列出的步骤操作Gmail:http://symfony.com/doc/current/cookbook/email/gmail.html