【发布时间】:2014-09-14 16:45:14
【问题描述】:
我很久以前就设置了 RoR4-Mailer。它工作正常。过了一段时间,我不再收到电子邮件了。我不记得我是如何设置的,所以我问了谷歌。重启后我得到一个错误,你可以在底部看到。
谁能告诉我如何正确配置它? (我只想使用基础知识。没有设计或任何其他宝石。)
我的代码片段:
/config/initializers/setup_mail.rb:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.smtp_settings = {
address: "smtp.gmail.com",
port: "587",
domain: "gmail.com",
user_name: ENV["MAIL_USERNAME"],
password: ENV["MAIL_PASSWORD"],
authentication: "plain",
enable_starttls_auto: true,
}
/config/environments/development.rb:
# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = true
#default host-url
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => ENV["GMAIL_DOMAIN"],
:authentication => "plain",
:enable_starttls_auto => true,
:user_name => ENV["GMAIL_USERNAME"],
:password => ENV["GMAIL_PASSWORD"]
}
/local_env.yml:
GMAIL_DOMAIN: 'gmail.com'
GMAIL_USERNAME: 'username@gmail.com'
GMAIL_PASSWORD: 'password'
/config/application.rb:
config.before_configuration do
env_file = File.join(Rails.root, 'config', 'local_env.yml')
YAML.load(File.open(env_file)).each do |key, value|
ENV[key.to_s] = value
end if File.exists?(env_file)
end
错误异常:
Net::SMTPAuthenticationError in AuthController#send_pwd_reset_instructions
530-5.5.1 Authentication Required.
【问题讨论】:
-
尝试登录并确定该帐户是否已被标记为可疑活动stackoverflow.com/questions/17227532/…
-
@ShamsulHaque:如果我不使用 ENV.Var,它可以正常工作。谢谢。但我会问谷歌如何正确使用 ENV.Var。
标签: ruby-on-rails ruby ruby-on-rails-4 mailer