我已经阅读了所有其他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日志,没有。日志是空的!
答案 0 :(得分:5)
您没有在test_mail中调用mail
方法。