我正在从Rails应用程序发送邮箱.它在开发环境中运行良好,但在登台时失败.我得到以下错误:

Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?plt=AKgnsbtdF0yjrQccTO2D_6)

请注意,我没有用于登台的域名.

以下是我在staging中的设置.rb

config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => "my.ip.addr.here:80" }
config.action_mailer.smtp_settings = {
      :address => "smtp.gmail.com",
      :port => 587,
      :domain => 'my.ip.addr.here:80'
      :user_name => "my_email_name@gmail.com",
      :password => "my_email_password",
      :authentication => 'login'
}

请帮帮我.

Edit.

添加:tls => true个选项后,我得到

OpenSSL::SSL::SSLError (Unrecognized SSL message, plaintext connection?)

然后我把端口改为25,现在我得到了这个(延迟30秒):

Timeout::Error (execution expired)

推荐答案

我也有同样的问题:邮箱是从开发部门发送的,但不是从生产部门发送的(当时我收到了Net::SMTPAuthenticationError封).

Reason:谷歌屏蔽了来自未知位置的访问(应用程序正在生产)

Solution:转到http://www.google.com/accounts/DisplayUnlockCaptcha并单击继续(这将授予注册新应用10分钟的访问权限).

Ruby-on-rails相关问答推荐

如何在_serialize之前执行代码?""或者如何在序列化属性之前对属性进行清理?

Rails turbo流只更新页面上的一个元素

安装特定版本的Ruby时出现问题(OpenSSL问题)

nginx 中的 Rails 7 Active Storage - 图像中途停止加载 net::ERR_HTTP2_PROTOCOL_ERROR 200

如何让删除链接响应 Rails 7 中的 turbo_stream 和 html?

为什么 Image_tag 产生images/...而不是assets/....?

Rails - Comment.count没有改变1

Rails 连接并包含连接表中的列

I18n 用于特定于模型的 Rails 提交按钮

在 JS 模块中使用 Rails-UJS(带有 webpacker 的 Rails 6)

在允许用户使用设计(rails)登录之前判断用户是否处于活动状态

Rails 3 中图像路径的完整 url

Postgres on Rails 致命:数据库不存在

在 Rails/ActiveRecord 列名中使用问号字符

如何独立测试模型的回调方法?

Ruby on Rails:有条件地显示部分

在具有唯一约束的关联中使用 Rails 中的 factory_girl.得到重复的错误

遇到在早期版本的 Rails 中使用 attr_accessible 的情况时,Rails 4 中的禁止属性错误

确认后如何进行设计重定向

如何将 ActionMailer default_url_options 的 :host 动态设置为请求的主机名?