5

Rails 3アプリでDeviseを使用してsendgridを実行しようとしているため、deviseは登録メールなどを送信できます..

次の config/setup_mail.rb を追加しました。

ActionMailer::Base.smtp_settings = {
  :address => "smtp.sendgrid.net",
  :port => '25',
  :domain => "XXXXXXXXX.com",
  :authentication => :plain,
  :user_name => "XXXXXXXXXXX@gmail.com",
  :password => "XXXXXXXXXX"
}

Rails + Devise が登録メールを送信するには、これで十分ではないでしょうか? それとも、何か他のものやある種の宝石が必要ですか?

ログには電子メールが生成されていることが示されていますが、MAIL が正常に送信された、またはエラーが発生したというログには何も表示されません。そして、私の sendgrid アカウントはまだ 0/200 メールが送信されたと言っています。

Rails でメールを送信しようとしたときに何が起こっているかを確認するためのより良い方法はありますか?

ありがとう

4

2 に答える 2

2

持っている設定を消去できます。

heroku addons:create sendgrid:free

Heroku で構成されたメールを取得するために必要なコードはこれだけです。

ホストリンクが設定されていることを確認してください。これはクラッシュの原因になるため、行ったと思いますが、そうでない場合:

config.action_mailer.default_url_options = { :host => 'myapp.heroku.com' }

実際、この最後の先取特権は Rails3 では異なるため、注意してください :)

「config」行を「production.rb」ファイルに追加する必要があります。

于 2010-11-08T05:40:16.910 に答える
0

私自身も同じ答えを探しています。initializers/devise.rb で私は読んだ:

  # Configure the class responsible to send e-mails.
  # config.mailer = "Devise::Mailer"

Devise に Actionmailer を使用するように指示する必要があるのでしょうか。

于 2010-12-02T18:43:25.673 に答える