Commit 2a43c9593c2b28a4da9ef28f4a14eb609cd20391

Authored by Nathan Broadbent
1 parent 0a9dfbaa
Exists in master and in 1 other branch production

Tracked down a difficult bug with sending emails from a rake task. ActionMailer:…

…:Base.smtp_settings needed to be set, not Errbit::Application.config.action_mailer.smtp_settings.
config/environments/development.rb
... ... @@ -15,9 +15,10 @@ Errbit::Application.configure do
15 15 config.action_controller.perform_caching = false
16 16  
17 17 # Don't care if the mailer can't send
18   - config.action_mailer.raise_delivery_errors = false
  18 + config.action_mailer.raise_delivery_errors = true
19 19 config.action_mailer.default_url_options = { :host => 'localhost:3000' }
20 20  
21 21 # Print deprecation notices to the Rails logger
22 22 config.active_support.deprecation = :log
23 23 end
  24 +
... ...
config/initializers/_load_config.rb
... ... @@ -43,7 +43,8 @@ end
43 43  
44 44 # Set SMTP settings if given.
45 45 if smtp = Errbit::Config.smtp_settings
46   - Errbit::Application.config.action_mailer.smtp_settings = smtp
  46 + ActionMailer::Base.delivery_method = :smtp
  47 + ActionMailer::Base.smtp_settings = smtp
47 48 end
48 49  
49 50 # Set config specific values
... ...
spec/mailers/mailer_spec.rb
... ... @@ -4,16 +4,23 @@ describe Mailer do
4 4 context "Err Notification" do
5 5 include EmailSpec::Helpers
6 6 include EmailSpec::Matchers
7   - Mailer.send :helper, ActionMailer::InlineCssHelper
8 7  
9 8 before do
10 9 @notice = Factory(:notice, :message => "class < ActionController::Base")
11   - @email = Mailer.err_notification(@notice)
  10 + @email = Mailer.err_notification(@notice).deliver
  11 + end
  12 +
  13 + it "should send the email" do
  14 + ActionMailer::Base.deliveries.size.should == 1
12 15 end
13 16  
14 17 it "should html-escape the notice's message for the html part" do
15 18 @email.should have_body_text("class &lt; ActionController::Base")
16 19 end
  20 +
  21 + it "should have inline css" do
  22 + @email.should have_body_text('<p class="backtrace" style="')
  23 + end
17 24 end
18 25 end
19 26  
... ...