Получение Devise 1.3.4 для отправки писем с Gmail в разработке - PullRequest
8 голосов
/ 09 мая 2011

Я пытаюсь настроить устройство 1.3.4 для отправки писем по электронной почте в режиме разработки.Я должен упомянуть, что я использую Rails 3.0.4 и Ruby 1.9.2p136.

Я попробовал следующее в config / environment / development.rb:

config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true

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

ActionMailer::Base.smtp_settings = {  
  :address              => "smtp.gmail.com",  
  :port                 => 587,  
  :domain               => "mydomain.com",  
  :user_name            => "info",  
  :password             => "secret",  
  :authentication       => "plain",  
  :enable_starttls_auto => true  
}  

И вconfig / initializers / devise.rb Я изменил

 config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"

На

 config.mailer_sender = "info@mydomain.com"

Затем я попытался

http://yekmer.posterous.com/devise-gmail-smtp-configuration

Это все еще не работает.

Есть ли вики-страница о том, как заставить работать почтовую программу?Я вижу письмо в своем журнале, и оно выглядит великолепно!Ссылки работают и т. Д. Я просто хочу видеть их в своей учетной записи электронной почты.


Редактировать

Я нашел ответ - я использовал http://yekmer.posterous.com/devise-gmail-smtp-configuration - Яя помещал этот код в config / intializers / devise.rb, когда я должен был поместить его в config / environment / development.rb.

Ответы [ 4 ]

2 голосов
/ 30 октября 2012

Вы должны поместить это в инициализатор devise:

# Configure the class responsible to send e-mails.
  config.mailer = "YourAppDeviseMailer"

Затем создайте класс, который расширяет Devise :: Mailer:

class YourAppDeviseMailer < Devise::Mailer
  default :from => 'your_email'

  def self.mailer_name
    "devise/mailer"
  end
end
2 голосов
/ 09 мая 2011

Вы пробовали это?

config.action_mailer.default_url_options = { :host => 'localhost:3000' }
ActionMailer::Base.smtp_settings = {  
  :address              => "smtp.gmail.com",  
  :port                 => 587,  
  :domain               => "gmail.com",  
  :user_name            => "myinfo@gmail.com",  
  :password             => "secret",  
  :authentication       => "plain"
  # :enable_starttls_auto => true # I don't have this, but it should work anyway 
} 

--------- РЕДАКТИРОВАТЬ

если оно отправлено, может быть, вы его не получите, потому чтоспам-фильтра, первое, что нужно проверить:

class UserMailer < ActionMailer::Base
  default :from => "myinfo@gmail.com"
  # ...
end
1 голос
/ 30 ноября 2016

Я думаю, что вы можете изменить его внутри config / initializers / devise.rb.Думаю, вам не нужен новый класс?

#config/initializers/devise.rb
config.mailer_sender = 'youremail@gmail.com'
0 голосов
/ 10 мая 2011

Проверьте, является ли значение ActionMailer :: Base.delivery_method: smtp

...