From 9feba112a704edc23b4c2240a546363f9e1158b1 Mon Sep 17 00:00:00 2001 From: F Date: Thu, 10 Nov 2022 20:06:21 +0000 Subject: Make enable_starttls configurable by envvars (#20321) ENABLE_STARTTLS is designed to replace ENABLE_STARTTLS_AUTO by accepting three values: 'auto' (the default), 'always', and 'never'. If ENABLE_STARTTLS isn't provided, we fall back to ENABLE_STARTTLS_AUTO. In this way, this change should be fully backwards compatible. Resolves #20311 --- lib/tasks/mastodon.rake | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'lib/tasks') diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 80e1dcf52..76089ebac 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -271,6 +271,7 @@ namespace :mastodon do env['SMTP_PORT'] = 25 env['SMTP_AUTH_METHOD'] = 'none' env['SMTP_OPENSSL_VERIFY_MODE'] = 'none' + env['SMTP_ENABLE_STARTTLS'] = 'auto' else env['SMTP_SERVER'] = prompt.ask('SMTP server:') do |q| q.required true @@ -299,6 +300,8 @@ namespace :mastodon do end env['SMTP_OPENSSL_VERIFY_MODE'] = prompt.select('SMTP OpenSSL verify mode:', %w(none peer client_once fail_if_no_peer_cert)) + + env['SMTP_ENABLE_STARTTLS'] = prompt.select('Enable STARTTLS:', %w(auto always never)) end env['SMTP_FROM_ADDRESS'] = prompt.ask('E-mail address to send e-mails "from":') do |q| @@ -312,6 +315,20 @@ namespace :mastodon do send_to = prompt.ask('Send test e-mail to:', required: true) begin + enable_starttls = nil + enable_starttls_auto = nil + + case env['SMTP_ENABLE_STARTTLS'] + when 'always' + enable_starttls = true + when 'never' + enable_starttls = false + when 'auto' + enable_starttls_auto = true + else + enable_starttls_auto = ENV['SMTP_ENABLE_STARTTLS_AUTO'] != 'false' + end + ActionMailer::Base.smtp_settings = { port: env['SMTP_PORT'], address: env['SMTP_SERVER'], @@ -320,7 +337,8 @@ namespace :mastodon do domain: env['LOCAL_DOMAIN'], authentication: env['SMTP_AUTH_METHOD'] == 'none' ? nil : env['SMTP_AUTH_METHOD'] || :plain, openssl_verify_mode: env['SMTP_OPENSSL_VERIFY_MODE'], - enable_starttls_auto: true, + enable_starttls: enable_starttls, + enable_starttls_auto: enable_starttls_auto, } ActionMailer::Base.default_options = { -- cgit From 19a8563905cf613bb24e10e4e19bdbc1d0ff3b8a Mon Sep 17 00:00:00 2001 From: Yamagishi Kazutoshi Date: Fri, 11 Nov 2022 09:33:32 +0900 Subject: Fix `ENV` (#20377) --- config/environments/production.rb | 2 +- lib/tasks/mastodon.rake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/tasks') diff --git a/config/environments/production.rb b/config/environments/production.rb index 48b134949..dc5319535 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -104,7 +104,7 @@ Rails.application.configure do enable_starttls = nil enable_starttls_auto = nil - case env['SMTP_ENABLE_STARTTLS'] + case ENV['SMTP_ENABLE_STARTTLS'] when 'always' enable_starttls = true when 'never' diff --git a/lib/tasks/mastodon.rake b/lib/tasks/mastodon.rake index 76089ebac..3ec685c74 100644 --- a/lib/tasks/mastodon.rake +++ b/lib/tasks/mastodon.rake @@ -326,7 +326,7 @@ namespace :mastodon do when 'auto' enable_starttls_auto = true else - enable_starttls_auto = ENV['SMTP_ENABLE_STARTTLS_AUTO'] != 'false' + enable_starttls_auto = env['SMTP_ENABLE_STARTTLS_AUTO'] != 'false' end ActionMailer::Base.smtp_settings = { -- cgit