Skip to content

Global Email Settings in Rails

June 2, 2008

I was running the functional test and didn’t realize it was sending actual emails from my data fixtures. However, I did learn how to globally set the email settings so not to send the emails out during tests.

If you want to use this, create a file called global_email_settings.rb (or whatever you want to name it) and put it in your your config/initializers/ folder. Restart your server to get rolling.

begin
  unless ENV['RAILS_ENV'] == 'test'
    ActionMailer::Base.delivery_method = :smtp
    ActionMailer::Base.smtp_settings = {
      :address => 'smtp.domain.com',
      :port => 101,
      :domain => 'domain.com',
      :authentication => :plain,
      :user_name => "",
      :password => ""
    }
  end
end

This way, you don’t have to explicitly set your ActionMailer::Base.delivery_method = :test in each test setup.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: