Skip to content
Snippets Groups Projects
Unverified Commit 37aae641 authored by Ahmad Farhat's avatar Ahmad Farhat Committed by GitHub
Browse files

Added ability to connect to mailers without authentication (#4904)

parent 40c0a8c6
No related branches found
No related tags found
No related merge requests found
...@@ -57,10 +57,11 @@ Rails.application.configure do ...@@ -57,10 +57,11 @@ Rails.application.configure do
if ENV['SMTP_SERVER'].present? if ENV['SMTP_SERVER'].present?
config.action_mailer.perform_deliveries = true config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: ENV.fetch('SMTP_SERVER', nil), smtp_settings = {
port: ENV.fetch('SMTP_PORT', nil), address: ENV.fetch('SMTP_SERVER'),
domain: ENV.fetch('SMTP_DOMAIN', nil), port: ENV.fetch('SMTP_PORT'),
domain: ENV.fetch('SMTP_DOMAIN'),
user_name: ENV.fetch('SMTP_USERNAME', nil), user_name: ENV.fetch('SMTP_USERNAME', nil),
password: ENV.fetch('SMTP_PASSWORD', nil), password: ENV.fetch('SMTP_PASSWORD', nil),
authentication: ENV.fetch('SMTP_AUTH', nil), authentication: ENV.fetch('SMTP_AUTH', nil),
...@@ -68,7 +69,9 @@ Rails.application.configure do ...@@ -68,7 +69,9 @@ Rails.application.configure do
enable_starttls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_STARTTLS', 'false')), enable_starttls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_STARTTLS', 'false')),
tls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_TLS', '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 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 = { config.action_mailer.default_options = {
from: ActionMailer::Base.email_address_with_name(ENV.fetch('SMTP_SENDER_EMAIL'), ENV.fetch('SMTP_SENDER_NAME', nil)) from: ActionMailer::Base.email_address_with_name(ENV.fetch('SMTP_SENDER_EMAIL'), ENV.fetch('SMTP_SENDER_NAME', nil))
} }
......
...@@ -67,18 +67,21 @@ Rails.application.configure do ...@@ -67,18 +67,21 @@ Rails.application.configure do
if ENV['SMTP_SERVER'].present? if ENV['SMTP_SERVER'].present?
config.action_mailer.perform_deliveries = true config.action_mailer.perform_deliveries = true
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
smtp_settings = {
address: ENV.fetch('SMTP_SERVER'), address: ENV.fetch('SMTP_SERVER'),
port: ENV.fetch('SMTP_PORT'), port: ENV.fetch('SMTP_PORT'),
domain: ENV.fetch('SMTP_DOMAIN'), domain: ENV.fetch('SMTP_DOMAIN'),
user_name: ENV.fetch('SMTP_USERNAME'), user_name: ENV.fetch('SMTP_USERNAME', nil),
password: ENV.fetch('SMTP_PASSWORD'), password: ENV.fetch('SMTP_PASSWORD', nil),
authentication: ENV.fetch('SMTP_AUTH'), authentication: ENV.fetch('SMTP_AUTH', nil),
enable_starttls_auto: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_STARTTLS_AUTO', 'true')), 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')), enable_starttls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_STARTTLS', 'false')),
tls: ActiveModel::Type::Boolean.new.cast(ENV.fetch('SMTP_TLS', '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 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 = { config.action_mailer.default_options = {
from: ActionMailer::Base.email_address_with_name(ENV.fetch('SMTP_SENDER_EMAIL'), ENV.fetch('SMTP_SENDER_NAME', nil)) from: ActionMailer::Base.email_address_with_name(ENV.fetch('SMTP_SENDER_EMAIL'), ENV.fetch('SMTP_SENDER_NAME', nil))
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment