Rails 3 - настройка sendgrid для поддержки разработки - PullRequest
5 голосов
/ 08 ноября 2010

Я пытаюсь запустить sendgrid в своем приложении Rails 3 с Devise, поэтому 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 разослал регистрационные письма? Или мне нужно что-то еще или какой-нибудь драгоценный камень?

Журналы показывают сгенерированное электронное письмо, но я ничего не вижу в журнале об успешной отправке почты или об ошибках. И моя учетная запись sendgrid по-прежнему содержит 0/200 отправленных писем.

Есть ли лучший способ в Rails увидеть, что происходит, когда он пытается отправить электронное письмо?

Спасибо

Ответы [ 2 ]

2 голосов
/ 08 ноября 2010

Вы можете стереть имеющуюся настройку.

heroku addons:create sendgrid:free

Это единственные фрагменты кода, которые вам нужны для настройки электронной почты, настроенной с помощью heroku.

Убедитесь, что у вас есть ссылка на хостНастройка, которую, я думаю, вы выполнили, потому что это приведет к ее аварийному завершению, но если у вас нет:

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

На самом деле это последнее удержание отличается на rails3, поэтому следите за этим:Строка «config» должна быть добавлена ​​в ваш файл «production.rb».

0 голосов
/ 02 декабря 2010

Я сам ищу такой же ответ.В intializers / devise.rb я читаю:

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

Интересно, нужно ли Devise сказать использовать Actionmailer.

...