7

我尝试将 actionmailer 配置为使用 smtp 通过谷歌应用程序发送。

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address              => "smtp.gmail.com",
:port                 => 587,
:domain               => "mydomain.com",
:user_name            => "username",
:password             => "password",
:authentication       => 'plain',
:enable_starttls_auto => true  }

config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true

但是,每当 gitlab 尝试发送电子邮件时:

Sent mail to user@my.domain.com (10ms)
Completed 500 Internal Server Error in 29ms

535-5.7.1 Username and Password not accepted

服务器运行 ruby​​ 1.9.3p194。为什么谷歌应用程序不接受用户名/密码?

4

2 回答 2

10

现在可以了,我认为问题出在用户名上。它需要用户名中的域。即问题是

user_name: 'username'

而正确的方法(至少对于谷歌应用程序)是

user_name : 'username@mydomain.com'
于 2012-07-29T03:19:02.157 回答
5

这对我有用:

config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address              => "smtp.gmail.com",
:port                 => 587,
:domain               => "gmail.com",
:user_name            => "you@gmail.com",
:password             => "password",
:authentication       => 'plain',
:enable_starttls_auto => true  }

尝试将域设置为 gmail.com

于 2012-07-29T07:02:01.147 回答