ActiveSupport::Notifications.subscribe('deliver.action_mailer') do |*args|
event = ActiveSupport::Notifications::Event.new(*args)
mail = event.payload[:mail]
Rails.logger.info({
msg: 'mail.deliver',
duration_ms: event.duration.round(1),
message_id: mail.message_id,
to: Array(mail.to),
subject: mail.subject
}.to_json)
end
Email issues are painful in production. Subscribe to mailer notifications and log message IDs, recipients, and durations. This gives you a lightweight audit trail without adding a heavy dependency.