QA@IT

[ruby/rails]Heroku で Devise のメール送信機能はどうやってできますか?

1982 PV

私は今 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
ウォッチ

この質問への回答やコメントをメールでお知らせします。