私は今 Devise 3.4.0 と Rails 4.1.0 を使っています。
私は開発環境でパスワードリセットメールを送ってみて、自分のメールボックスに新しいメールが届けませんでした。エラーもありませんでした。
Heorku 環境でやってみて、500 エラーが発生しました。Heroku のログを見て、二行情報があります:
メールを送ります;
500 エラーが発生します。
私の方法は間違ったですか?下記は関連設定ファイル:
My /app/models/user.rb 's setting:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
My /config/initializers/devise.rb 's setting:
config.mailer_sender = Settings.mailer.user_name
My /config/environments/development.rb 's setting:
# ActionMailer Config
config.action_mailer.default_url_options = { :host => Settings.mailer.host }
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.default :charset => "utf-8"
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: Settings.mailer.domain,
authentication: "plain",
enable_starttls_auto: true,
user_name: Settings.mailer.user_name,
password: Settings.mailer.password
}
My /config/environments/production.rb 's setting:
# ActionMailer Config
config.action_mailer.default_url_options = { :host => Settings.mailer.host }
config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.default :charset => "utf-8"
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: Settings.mailer.domain,
authentication: "plain",
enable_starttls_auto: true,
user_name: Settings.mailer.user_name,
password: Settings.mailer.password
}
My /config/application.yml 's setting:
development:
<<: *defaults
mailer:
host: something.apne1.nitrousbox.com
domain: http://something.apne1.nitrousbox.com
user_name: testmail@gmail.com
password: testmail
production:
<<: *defaults
mailer:
host: something.herokuapp.com
domain: http://something.herokuapp.com
user_name: testmail@gmail.com
password: testmail