梅勒错误Gmail Net :: SMTPAuthenticationError in EnglishGradesController #create

时间:2016-08-02 20:46:02

标签: ruby-on-rails gmail mailer

我想在我的rails应用中创建新的英语成绩时发送电子邮件。在这个应用程序中,学生是继承(STI)类型的设备用户可能是相关的,并且当教师(另一种类型的继承设计用户)创建成绩时,我试图向他们发送电子邮件。

目前正试图让它在本地使用gmail工作。我用了

rails g mailer UserMailer

设置。

这是我创建英语成绩时遇到的错误。

EnglishGradesController中的Net :: SMTPAuthenticationError #create

530-5.5.1需要验证。

了解更多信息
@student = Student.find_by_id(@english_grade.student_id)
  if @english_grade.save
    **UserMailer.new_grade(@student).deliver**
    redirect_to(student_path(@student), :notice => "Post was successfully created.")
  else // etc

(**是突出显示的错误)

上面也是我打电话给邮件的地方所以我不会重复它。

我的development.rb文件:

config.action_mailer.raise_delivery_errors = true

config.action_mailer.delivery_method = :smtp

config.action_mailer.default_url_options = { :host => "my ip address" }

config.action_mailer.smtp_settings = {
 :address              => "smtp.gmail.com",
 :domain => 'my ip address:3000', //where 3000 is the port I'm running on locally
 :port                 => 587,
 :user_name            => ENV['example@gmail.com'],
 :password             => ENV['password'],
 :authentication       => "plain",
:enable_starttls_auto => true
}

  config.action_mailer.perform_caching = false

我的邮件:

class UserMailer < ApplicationMailer
default from: "example@gmail.com"

  def new_grade(user)
    @user = user
    mail to: @user.email, subject: "New grade created"
  end

end

阅读其他一些问题:

在development.rb中,我尝试过没有&#39;域:&#39;并且没有主机IP地址

我试过了: http://www.google.com/accounts/DisplayUnlockCaptcha

我还允许访问不太安全的应用https://www.google.com/settings/security/lesssecureapps

我已将密码更改为复杂的

我也尝试将端口更改为465,但文件结束时出错。

此外,如果它有任何相关性,我今天专门为该应用发送电子邮件来创建此gmail帐户

非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

实际上问题是

 :authentication       => "plain",

需要:

 :authentication       => "login",