我想在我的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帐户
非常感谢任何帮助,谢谢!
答案 0 :(得分:1)
实际上问题是
:authentication => "plain",
需要:
:authentication => "login",