在开发模式下以Symfony 3发送电子邮件

在开发模式下以Symfony 3发送电子邮件,symfony,email,swiftmailer,Symfony,Email,Swiftmailer,需要帮助学习如何使用Symfony框架和Swift_mailer库在开发模式下发送电子邮件 这是我的config_dev.yml文件: swiftmailer: transport: '%mailer_transport%' host: '%mailer_host%' username: '%mailer_user%' password: '%mailer_password%' spool: { type: memory } swiftmailer: transport: '%mailer_t

需要帮助学习如何使用Symfony框架和Swift_mailer库在开发模式下发送电子邮件

这是我的config_dev.yml文件:

swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
....
mailer_transport: gmail
mailer_host: 127.0.0.1
mailer_user: 'my_gamil_here'
mailer_password: 'my_password_here'
和我的config.yml文件:

swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
....
mailer_transport: gmail
mailer_host: 127.0.0.1
mailer_user: 'my_gamil_here'
mailer_password: 'my_password_here'
和my parameters.yml文件:

swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
swiftmailer:
transport: '%mailer_transport%'
host: '%mailer_host%'
username: '%mailer_user%'
password: '%mailer_password%'
spool: { type: memory }
....
mailer_transport: gmail
mailer_host: 127.0.0.1
mailer_user: 'my_gamil_here'
mailer_password: 'my_password_here'
然后在我的控制器中,我有以下内容:

公共函数索引\Swift\u Mailer$Mailer { $message=new\Swift\u消息“Hello Email” ->从westtexascentral555@gmail.com' ->塞托kaleyaw@yahoo.com' ->挫折体 $this->renderView //app/Resources/views/email/registration.html.twig 'Emails/registration.html.twig', 数组'name'=>'James' , “文本/html” ; $mailer->send$message; 返回新回复“已发送电子邮件”; }
谁能告诉我出了什么问题吗。不会向电子邮件帐户发送任何邮件。

'mailer\u transport'是发送邮件的协议。
尝试使用“smtp”而不是“gmail”:

可能是因为您将邮件主机指定为本地主机。检查此symfony文档。请注意这一部分:

gmail传输只是使用smtp传输的快捷方式 并设置以下选项:

确保mailer_用户只设置为您的gmail用户名,而不设置主机部分。假设我有电子邮件myemail@gmail.com,我的用户名是myemail

您是否对您的gmail帐户使用两步验证?如果是,您还需要为您的帐户生成应用程序密码,如中所述:

如果您的Gmail帐户使用两步验证,则必须将其作为mailer_password参数的值。你还必须确保你自己

很快,您就可以跟随、登录、选择应用程序(本例中为Mail)和要使用mailer的设备,按Generate,您将看到应用程序密码的模式,类似于snub udpz xcvt jrdp。复制此密码,并将其用作您的gmail密码,无需空格

如果这没有帮助,还可以检查日志,通常如果smtp服务器出现问题,swiftmailer会将错误打印到日志中