Fix mail test and add bundle install to devbox

This commit is contained in:
Linus Gasser 2025-10-08 17:42:21 +02:00
parent a1d8acbb48
commit 401ed3ddf4
2 changed files with 38 additions and 15 deletions

View file

@ -12,7 +12,8 @@
}, },
"shell": { "shell": {
"init_hook": [ "init_hook": [
"echo 'Welcome to devbox!' > /dev/null" "bundle config set with 'development,test'",
"bundle install"
], ],
"scripts": { "scripts": {
"test": [ "test": [

View file

@ -35,11 +35,18 @@ namespace :mail do
puts "=" * 50 puts "=" * 50
# Display current SMTP settings (without password) # Display current SMTP settings (without password)
smtp_settings = Rails.application.config.action_mailer.smtp_settings.dup smtp_settings = Rails.application.config.action_mailer.smtp_settings
smtp_settings[:password] = '[HIDDEN]' if smtp_settings[:password] if smtp_settings
smtp_settings = smtp_settings.dup
smtp_settings[:password] = '[HIDDEN]' if smtp_settings[:password]
end
puts "SMTP Settings:" puts "SMTP Settings:"
smtp_settings.each do |key, value| if smtp_settings
puts " #{key}: #{value.inspect}" 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 end
puts puts
@ -55,6 +62,18 @@ namespace :mail do
begin begin
# Create and send test email # 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( ActionMailer::Base.mail(
from: from_email, from: from_email,
to: to_email, to: to_email,
@ -62,15 +81,11 @@ namespace :mail do
body: <<~BODY body: <<~BODY
This is a test email from OSEM to verify SMTP configuration. This is a test email from OSEM to verify SMTP configuration.
Configuration details: #{config_details}
- Server: #{smtp_settings[:address]}:#{smtp_settings[:port]}
- Authentication: #{smtp_settings[:authentication]}
- STARTTLS: #{smtp_settings[:enable_starttls_auto]}
- Domain: #{smtp_settings[:domain]}
Sent at: #{Time.current} 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 BODY
).deliver_now ).deliver_now
@ -109,15 +124,22 @@ namespace :mail do
puts "CURRENT MAIL CONFIGURATION" puts "CURRENT MAIL CONFIGURATION"
puts "=" * 50 puts "=" * 50
smtp_settings = Rails.application.config.action_mailer.smtp_settings.dup smtp_settings = Rails.application.config.action_mailer.smtp_settings
smtp_settings[:password] = '[HIDDEN]' if smtp_settings[:password] 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 "ActionMailer delivery method: #{ActionMailer::Base.delivery_method}"
puts "Default URL options: #{Rails.application.config.action_mailer.default_url_options}" puts "Default URL options: #{Rails.application.config.action_mailer.default_url_options}"
puts puts
puts "SMTP Settings:" puts "SMTP Settings:"
smtp_settings.each do |key, value| if smtp_settings
puts " #{key}: #{value.inspect}" 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 end
puts puts