【问题标题】:Action mailer SMTP google apps行动邮件 SMTP 谷歌应用
【发布时间】:2012-07-27 05:20:21
【问题描述】:

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

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。为什么谷歌应用不接受用户名/密码?

【问题讨论】:

  • 尝试登录您的 gmail 帐户,您可能需要为您的应用授予权限
  • @KyleC 我已经试过了。我的应用程序是动作邮件。我需要授予 SMTP 权限吗?
  • No.... 这些错误是在开发(本地计算机)还是生产中发生的?
  • 这是生产。我将用户名更改为 username@my.domain.com,现在看来它正在工作。我不熟悉该应用程序(GitLab),所以我不确定我是否正确地重新启动它以应用配置更改(我使用初始化脚本 /etc/init.d/gitlab),但它是 .. 古怪的。无论如何,我真的很感谢你的帮助。让我们考虑一下现在解决的问题。

标签: ruby-on-rails ruby actionmailer gitlab


【解决方案1】:

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

user_name: 'username'

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

user_name : 'username@mydomain.com'

【讨论】:

    【解决方案2】:

    这对我有用:

    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

    【讨论】:

    • 谢谢,这对我也适用于 gmail.com,但不适用于谷歌应用程序域。不过谢谢。
    猜你喜欢
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多