Rails ActionMailer不会从控制台发送

时间:2015-12-23 23:47:53

标签: ruby-on-rails actionmailer

我已经阅读了所有其他SO答案,但我仍然无法解决这个问题。

鉴于我的RewardMailer已定义以下电子邮件:

# A test email to check up on the configurations
def test_mail
  @recipients = 'aminshahgilani@gmail.com'
  @from = 'postmaster@sandboxXXXXXXXXXXXXXXXXX.mailgun.org'
  @subject = 'test from the Rails Console'
  @body = 'This is a test email'
end

我的config/environments/development.rb文件包含:

config.action_mailer.perform_deliveries = true
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
  address:              'smtp.mailgun.org',
  port:                 587,
  domain:               'sandboxXXXXXXXXXXXXXXXXX.mailgun.org',
  user_name: 'postmaster@sandboxXXXXXXXXXXXXXXXXX.mailgun.org',
  password:             'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  authentication:       :plain
}

当我从Rails控制台检查时,我用以下方式确认配置:

Rails.application.config.action_mailer
 => {:perform_deliveries=>true, :raise_delivery_errors=>true, :delivery_method=>:smtp, :smtp_settings=>{:address=>"smtp.mailgun.org", :port=>587, :domain=>"sandbox0574dfb215d14874ac51fb9f9052131b.mailgun.org", :user_name=>"postmaster@sandboxXXXXXXXXXXXXXXXXX.mailgun.org", :password=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", :authentication=>:plain}, :assets_dir=>"/home/gilani/Sandbox/mailman/public", :javascripts_dir=>"/home/gilani/Sandbox/mailman/public/javascripts", :stylesheets_dir=>"/home/gilani/Sandbox/mailman/public/stylesheets", :preview_path=>"/home/gilani/Sandbox/mailman/test/mailers/previews", :asset_host=>nil, :relative_url_root=>nil}

为什么以下内容无法发送我的电子邮件?或者显示任何错误

RewardMailer.test_mail().deliver_now

RewardMailer#test_mail: processed outbound mail in 0.1ms
 => nil 

我也检查了我的Mailgun日志,没有。日志是空的!

1 个答案:

答案 0 :(得分:5)

您没有在test_mail中调用mail方法。