首页 > 解决方案 > Rails smtp 问题

问题描述

我是初级 Rails 开发人员。我试图通过 gmail.com 的 smtp 发送电子邮件,我在互联网上找到了这篇文章。我的environments/production.rb

  config.action_mailer.delivery_method = :sendmail
  config.action_mailer.perform_deliveries = true
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.default_options = {from: 'pangodfather@gmail.com'}

  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
      address:              'smtp.gmail.com',
      port:                 587,
      domain:               'devb.carwash.it',
      user_name:            'myaccount@gmail.com',
      password:             'mypass',
      authentication:       'plain',
      enable_starttls_auto: true
  }

像这样我试图发送邮件

   UserNotificationMailer.send_change_password_link(@user, params[:user][:password]).deliver_now

我有这个错误。Net::SMTPSyntaxError(501 语法:HELO 主机名

在我的服务器上,如果我运行hostname 主机名,输出是:

devb.carwash.it

我做错了什么?谢谢

标签: ruby-on-railsrubylinuxcentossmtp

解决方案


让我分享一下我在使用 Gmail 解决此问题时遇到的问题。

  1. 首先启用不太安全的应用程序登录到 Gmail。

    访问您的gmail 设置并启用不太安全的应用程序以使应用程序正常工作。

  2. 将:authentication key的值从 更改:plain:login

  3. 如果您为访问 Gmail启用了两步验证,则必须向您的应用授予权限。

希望这可以帮助 :)


推荐阅读