diff --git a/config/environments/development.rb b/config/environments/development.rb
index f8f77b86927d7107f85b08ebf40d302ee7d48ac8..0fc3ccce03b8b9d28156def72920c9c560e1bea3 100644
--- a/config/environments/development.rb
+++ b/config/environments/development.rb
@@ -57,10 +57,11 @@ Rails.application.configure do
   if ENV['SMTP_SERVER'].present?
     config.action_mailer.perform_deliveries = true
     config.action_mailer.delivery_method = :smtp
-    config.action_mailer.smtp_settings = {
-      address: ENV.fetch('SMTP_SERVER', nil),
-      port: ENV.fetch('SMTP_PORT', nil),
-      domain: ENV.fetch('SMTP_DOMAIN', nil),
+
+    smtp_settings = {
+      address: ENV.fetch('SMTP_SERVER'),
+      port: ENV.fetch('SMTP_PORT'),
+      domain: ENV.fetch('SMTP_DOMAIN'),
       user_name: ENV.fetch('SMTP_USERNAME', nil),
       password: ENV.fetch('SMTP_PASSWORD', nil),
       authentication: ENV.fetch('SMTP_AUTH', nil),
@@ -68,7 +69,9 @@ Rails.application.configure do
       enable_starttls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_STARTTLS', 'false')),
       tls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_TLS', 'false')),
       openssl_verify_mode: ENV.fetch('SMTP_SSL_VERIFY', 'true') == 'false' ? OpenSSL::SSL::VERIFY_NONE : OpenSSL::SSL::VERIFY_PEER
-    }
+    }.compact
+
+    config.action_mailer.smtp_settings = smtp_settings
     config.action_mailer.default_options = {
       from: ActionMailer::Base.email_address_with_name(ENV.fetch('SMTP_SENDER_EMAIL'), ENV.fetch('SMTP_SENDER_NAME', nil))
     }
diff --git a/config/environments/production.rb b/config/environments/production.rb
index 908fd4dfdc73131e2041e9d17bedf0fb0d85409a..a4ce4a6e1cace42f0a8ff34c74a5909f05251a7e 100644
--- a/config/environments/production.rb
+++ b/config/environments/production.rb
@@ -67,18 +67,21 @@ Rails.application.configure do
   if ENV['SMTP_SERVER'].present?
     config.action_mailer.perform_deliveries = true
     config.action_mailer.delivery_method = :smtp
-    config.action_mailer.smtp_settings = {
+
+    smtp_settings = {
       address: ENV.fetch('SMTP_SERVER'),
       port: ENV.fetch('SMTP_PORT'),
       domain: ENV.fetch('SMTP_DOMAIN'),
-      user_name: ENV.fetch('SMTP_USERNAME'),
-      password: ENV.fetch('SMTP_PASSWORD'),
-      authentication: ENV.fetch('SMTP_AUTH'),
+      user_name: ENV.fetch('SMTP_USERNAME', nil),
+      password: ENV.fetch('SMTP_PASSWORD', nil),
+      authentication: ENV.fetch('SMTP_AUTH', nil),
       enable_starttls_auto: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_STARTTLS_AUTO', 'true')),
       enable_starttls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_STARTTLS', 'false')),
       tls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_TLS', 'false')),
       openssl_verify_mode: ENV.fetch('SMTP_SSL_VERIFY', 'true') == 'false' ? OpenSSL::SSL::VERIFY_NONE : OpenSSL::SSL::VERIFY_PEER
-    }
+    }.compact
+
+    config.action_mailer.smtp_settings = smtp_settings
     config.action_mailer.default_options = {
       from: ActionMailer::Base.email_address_with_name(ENV.fetch('SMTP_SENDER_EMAIL'), ENV.fetch('SMTP_SENDER_NAME', nil))
     }