Commit 2fe1732a57427b69bd14628b0d8bbdc30350e463

Authored by Nathan Broadbent
1 parent 19c83f25
Exists in master and in 1 other branch production

Allow optional configuration of SMTP settings in config.yml

config/config.example.yml
@@ -28,16 +28,30 @@ email_at_notices: [1, 10, 100] @@ -28,16 +28,30 @@ email_at_notices: [1, 10, 100]
28 confirm_resolve_err: true 28 confirm_resolve_err: true
29 29
30 # Add an optional 'username' field to Users. 30 # Add an optional 'username' field to Users.
31 -# Helpful if you want to plug in your own authentication strategy. 31 +# Helpful when you need to plug in a custom authentication strategy, such as LDAP.
32 user_has_username: false 32 user_has_username: false
33 33
  34 +
  35 +# Configure SMTP settings. If you are running Errbit on Heroku,
  36 +# sendgrid will be configured by default.
  37 +# ------------------------------------------------------------------------
  38 +#smtp_settings:
  39 +# :address: ADDRESS
  40 +# :domain: DOMAIN
  41 +# :port: "25"
  42 +# :authentication: :plain, :login, :cram_md5
  43 +# :enable_starttls_auto: true
  44 +# :user_name: USERNAME
  45 +# :password: PASSWORD
  46 +
  47 +
34 # Configure tracking for Errbit's own internal errors. 48 # Configure tracking for Errbit's own internal errors.
35 # There is a central Errbit instance running on heroku, 49 # There is a central Errbit instance running on heroku,
36 # and other Errbit instances will send their errors there by default. 50 # and other Errbit instances will send their errors there by default.
37 -# Please leave this section commented unless you really need to change it.  
38 -# ------------------------------------------------------------------------  
39 -# report_self_errors: true  
40 -# self_errors_host: errbit-central.heroku.com  
41 -# self_errors_port: 80  
42 -# self_errors_api_key: 11e5ce322856e540481e6a0789893179 51 +# Please leave this section commented if you don't need to override the defaults.
  52 +# -------------------------------------------------------------------------------
  53 +#report_self_errors: true
  54 +#self_errors_host: errbit-central.heroku.com
  55 +#self_errors_port: 80
  56 +#self_errors_api_key: 11e5ce322856e540481e6a0789893179
43 57
config/initializers/_load_config.rb
@@ -12,7 +12,7 @@ if ENV['HEROKU'] @@ -12,7 +12,7 @@ if ENV['HEROKU']
12 Errbit::Config.self_errors_port = ENV['ERRBIT_SELF_ERRORS_PORT'] 12 Errbit::Config.self_errors_port = ENV['ERRBIT_SELF_ERRORS_PORT']
13 Errbit::Config.self_errors_api_key = ENV['ERRBIT_SELF_ERRORS_API_KEY'] 13 Errbit::Config.self_errors_api_key = ENV['ERRBIT_SELF_ERRORS_API_KEY']
14 14
15 - Errbit::Application.config.action_mailer.smtp_settings = { 15 + Errbit::Config.smtp_settings = {
16 :address => "smtp.sendgrid.net", 16 :address => "smtp.sendgrid.net",
17 :port => "25", 17 :port => "25",
18 :authentication => :plain, 18 :authentication => :plain,
@@ -33,6 +33,11 @@ if File.exists?(config_file) @@ -33,6 +33,11 @@ if File.exists?(config_file)
33 end 33 end
34 end 34 end
35 35
  36 +# Set SMTP settings if given, but retain defaults if not.
  37 +if smtp = Errbit::Config.smtp_settings
  38 + Errbit::Application.config.action_mailer.smtp_settings = smtp
  39 +end
  40 +
36 # Set config specific values 41 # Set config specific values
37 (Errbit::Application.config.action_mailer.default_url_options ||= {}).tap do |default| 42 (Errbit::Application.config.action_mailer.default_url_options ||= {}).tap do |default|
38 default.merge! :host => Errbit::Config.host if default[:host].blank? 43 default.merge! :host => Errbit::Config.host if default[:host].blank?