使用Swiftmailer在Symfony 2中通过smtp.gmail.com发送邮件

6

我在使用gmail时,在xampp本地主机上发送邮件遇到了麻烦。经过很长时间,我终于成功了,并与大家分享。如果我有错误,请提供正确的解决方案。

在你的Symfony 2中的config.yml文件中写入以下内容:

swiftmailer:
    disable_delivery:  false
    transport: %mailer_transport%
    host:      %mailer_host%
    username:  %mailer_user%
    password:  %mailer_password%
    port:      %mailer_port%
    encryption: %mailer_encryption%

在你的parameters.yml文件中

mailer_transport: smtp
mailer_host: smtp.gmail.com
mailer_user: gmail_user_id_without_@gmail.com
mailer_password: Your_gmail_pass
mailer_port: 465 or 587
mailer_encryption:  ssl 

你是什么意思,说“经过很长时间的努力,我终于成功了。现在我要与大家分享。”? - zizoujab
有一个使用SwiftMailer通过Gmail发送电子邮件的食谱条目:http://symfony.com/doc/current/cookbook/email/gmail.html - nietonfir
1
你成功地做到了吗?是使用 mailer_transport: smtp 还是 mailer_transport: gmail?我在这篇帖子中感到非常困惑,问题和答案都很误导人!请提供确切的信息。 - Adib Aroui
2个回答

7

您可以尝试这个。

Parameter.yml

(参数文件)

mailer_transport: gmail
mailer_encryption: ssl
mailer_auth_mode: login
mailer_host: smtp.gmail.com
mailer_user: 'xxxxxxxxxxxx'

config.yml

swiftmailer:
   transport: gmail
   host:      smtp.gmail.com
   username:  'Yourmail@gmail.com'
   password:  'Password'

这对我来说在Symfony 3.2上完美地运行了。谢谢! - Rodolfo Velasco

0

您可以直接在Swift Mailer配置中指定参数,也可以从parameters.ini文件中读取参数。

例如:

在parameters.ini中:

mailer_transport  = smtp
mailer_host       = localhost
mailer_user       = null    
mailer_password   = null

在config.yml文件中

# Swiftmailer Configuration
swiftmailer:
    transport: smtp
    encryption: ssl
    auth_mode: login
    host:      smtp.gmail.com
    username:  user@xyz.com
    password:  password
    spool:
      type: file
      path: "%kernel.root_dir%/extras/spool"

这里的“path”是指存储邮件池的目录路径。


在“swiftmailer.mailers.default”下,未识别选项“mailer_auth_mode”。 - user2264784

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接