Skip to content

Commit 97f12fa

Browse files
committed
fix: properly setup mail config in production env
1 parent d6aa767 commit 97f12fa

File tree

2 files changed

+28
-18
lines changed

2 files changed

+28
-18
lines changed

variants/backend-base/config/environments/production.rb

+20-14
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,27 @@
2727
config.force_ssl = ENV.fetch("RAILS_FORCE_SSL", "true").downcase != "false"
2828
RUBY
2929

30-
# TODO: it looks like these options are now spread across the config
31-
insert_into_file! "config/environments/production.rb",
32-
after: /# config\.action_mailer\.raise_deliv.*\n/ do
33-
<<-RUBY
30+
gsub_file! "config/environments/production.rb",
31+
"# config.action_mailer.raise_delivery_errors = false",
32+
"config.action_mailer.raise_delivery_errors = true"
3433

35-
# Production email config
36-
config.action_mailer.raise_delivery_errors = true
37-
config.action_mailer.default_url_options = {
38-
host: "#{TEMPLATE_CONFIG.production_hostname}",
39-
protocol: "https"
40-
}
41-
config.action_mailer.asset_host = "https://#{TEMPLATE_CONFIG.production_hostname}"
34+
gsub_file! "config/environments/production.rb",
35+
'config.action_mailer.default_url_options = { host: "example.com" }',
36+
"config.action_mailer.default_url_options = { host: \"#{TEMPLATE_CONFIG.production_hostname}\", protocol: \"https\" }"
4237

38+
gsub_file! "config/environments/production.rb",
39+
<<-RUBY,
40+
# Specify outgoing SMTP server. Remember to add smtp/* credentials via rails credentials:edit.
41+
# config.action_mailer.smtp_settings = {
42+
# user_name: Rails.application.credentials.dig(:smtp, :user_name),
43+
# password: Rails.application.credentials.dig(:smtp, :password),
44+
# address: "smtp.example.com",
45+
# port: 587,
46+
# authentication: :plain
47+
# }
48+
RUBY
49+
<<-RUBY
50+
config.action_mailer.asset_host = "https://#{TEMPLATE_CONFIG.production_hostname}"
4351
config.action_mailer.smtp_settings = {
4452
address: ENV.fetch("SMTP_HOSTNAME"),
4553
port: ENV.fetch("SMTP_PORT", 587),
@@ -49,9 +57,7 @@
4957
authentication: "login",
5058
domain: "#{TEMPLATE_CONFIG.production_hostname}"
5159
}
52-
53-
RUBY
54-
end
60+
RUBY
5561

5662
gsub_file! "config/environments/production.rb",
5763
'ENV.fetch("RAILS_LOG_LEVEL", "info")',
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,22 @@
1+
gsub_file! "config/environments/test.rb",
2+
'config.action_mailer.default_url_options = { host: "example.com" }',
3+
'config.action_mailer.default_url_options = { host: "localhost:3000" }'
4+
15
insert_into_file! \
26
"config/environments/test.rb",
37
after: /config\.action_mailer\.delivery_method = :test\n/ do
48
<<-RUBY
59
610
# Ensure mailer works in test
711
config.action_mailer.raise_delivery_errors = true
8-
config.action_mailer.default_url_options = { host: "localhost:3000" }
912
config.action_mailer.asset_host = "http://localhost:3000"
10-
11-
# Raise an error if we try and look up a missing translation
12-
config.i18n.raise_on_missing_translations = true
1313
RUBY
1414
end
1515

16+
gsub_file! "config/environments/test.rb",
17+
"# config.i18n.raise_on_missing_translations = true",
18+
"config.i18n.raise_on_missing_translations = true"
19+
1620
gsub_file! "config/environments/test.rb",
1721
"config.action_controller.raise_on_missing_callback_actions = true",
1822
"# config.action_controller.raise_on_missing_callback_actions = true"

0 commit comments

Comments
 (0)