Rails 3.0, доставка ActionMailer не работает, сообщение об ошибке не отображается - PullRequest
2 голосов
/ 25 марта 2012

Я бы хотел поиграть с отправкой почты из Rails в среде разработки.Мое сообщение обрабатывается (я вижу его в терминале, на котором запущен rails console in).

In config/development.rb У меня есть (да, порт действительно 26):

config.action_mailer.delivery_method = :smtp
config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = {
  :address  => "mail.mydomain.com",
  :port  => 26,
  :user_name  => "me@mydomain.com",
  :password  => "removed",
  :authentication  => :login
}

У меня есть mailers/user_mailer:

class UserMailer < ActionMailer::Base
  default from: "me@mydomain.com"
  def send_an_email
    mail(:to => "me@gmail.com", :subject => "Test from Rails")
  end
end

У меня есть представление, которое правильно отображается в views/user_mailer/send_an_email.text.erb.Я звоню UserMailer.send_an_email.deliver по запросу страницы.

Rails не жалуется на мою конфигурацию.Я вижу сообщение в выводе консоли rails server.Однако я никогда не получаю электронную почту и не вижу сообщений об ошибках в выводе консоли (как вы можете видеть выше, raise_delivery_errors = true!.

1 Ответ

6 голосов
/ 11 мая 2012

Стив, случайно вы убедились, что вызываете метод доставки?

mail(:to => "me@gmail.com", :subject => "Test from Rails").deliver

Я забыл это сделать и был совершенно смущен отсутствием ошибок. :)

...