From 401ed3ddf436a1ccd2c9e9a622a4634f947b4663 Mon Sep 17 00:00:00 2001 From: Linus Gasser Date: Wed, 8 Oct 2025 17:42:21 +0200 Subject: [PATCH] Fix mail test and add bundle install to devbox --- devbox.json | 3 ++- lib/tasks/mail_test.rake | 50 +++++++++++++++++++++++++++++----------- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/devbox.json b/devbox.json index a80a467f..293e4406 100644 --- a/devbox.json +++ b/devbox.json @@ -12,7 +12,8 @@ }, "shell": { "init_hook": [ - "echo 'Welcome to devbox!' > /dev/null" + "bundle config set with 'development,test'", + "bundle install" ], "scripts": { "test": [ diff --git a/lib/tasks/mail_test.rake b/lib/tasks/mail_test.rake index 086ceb45..daf76dc0 100644 --- a/lib/tasks/mail_test.rake +++ b/lib/tasks/mail_test.rake @@ -35,11 +35,18 @@ namespace :mail do puts "=" * 50 # Display current SMTP settings (without password) - smtp_settings = Rails.application.config.action_mailer.smtp_settings.dup - smtp_settings[:password] = '[HIDDEN]' if smtp_settings[:password] + smtp_settings = Rails.application.config.action_mailer.smtp_settings + if smtp_settings + smtp_settings = smtp_settings.dup + smtp_settings[:password] = '[HIDDEN]' if smtp_settings[:password] + end puts "SMTP Settings:" - smtp_settings.each do |key, value| - puts " #{key}: #{value.inspect}" + if smtp_settings + smtp_settings.each do |key, value| + puts " #{key}: #{value.inspect}" + end + else + puts " [No SMTP settings configured - using #{ActionMailer::Base.delivery_method} delivery method]" end puts @@ -55,6 +62,18 @@ namespace :mail do begin # Create and send test email + config_details = if smtp_settings + <<~CONFIG + Configuration details: + - Server: #{smtp_settings[:address]}:#{smtp_settings[:port]} + - Authentication: #{smtp_settings[:authentication]} + - STARTTLS: #{smtp_settings[:enable_starttls_auto]} + - Domain: #{smtp_settings[:domain]} + CONFIG + else + "Configuration details:\n- Delivery method: #{ActionMailer::Base.delivery_method}" + end + ActionMailer::Base.mail( from: from_email, to: to_email, @@ -62,15 +81,11 @@ namespace :mail do body: <<~BODY This is a test email from OSEM to verify SMTP configuration. - Configuration details: - - Server: #{smtp_settings[:address]}:#{smtp_settings[:port]} - - Authentication: #{smtp_settings[:authentication]} - - STARTTLS: #{smtp_settings[:enable_starttls_auto]} - - Domain: #{smtp_settings[:domain]} + #{config_details} Sent at: #{Time.current} - If you receive this email, your SMTP configuration is working correctly! + If you receive this email, your mail configuration is working correctly! BODY ).deliver_now @@ -109,15 +124,22 @@ namespace :mail do puts "CURRENT MAIL CONFIGURATION" puts "=" * 50 - smtp_settings = Rails.application.config.action_mailer.smtp_settings.dup - smtp_settings[:password] = '[HIDDEN]' if smtp_settings[:password] + smtp_settings = Rails.application.config.action_mailer.smtp_settings + if smtp_settings + smtp_settings = smtp_settings.dup + smtp_settings[:password] = '[HIDDEN]' if smtp_settings[:password] + end puts "ActionMailer delivery method: #{ActionMailer::Base.delivery_method}" puts "Default URL options: #{Rails.application.config.action_mailer.default_url_options}" puts puts "SMTP Settings:" - smtp_settings.each do |key, value| - puts " #{key}: #{value.inspect}" + if smtp_settings + smtp_settings.each do |key, value| + puts " #{key}: #{value.inspect}" + end + else + puts " [No SMTP settings configured - using #{ActionMailer::Base.delivery_method} delivery method]" end puts