"There are email jobs that failed" on an SMTP-less install

I got this message on my dashboard:

There are 95 email jobs that failed. Check your app.yml and ensure that the mail server settings are correct.

The site is an SMTP-less install on a discourse.diy domain.

Sidekiq shows:

Next Retry Retry Count Queue Job Arguments Error
right now 0 default Jobs::CallDiscourseHub {} Jobs::HandledExceptionWrapper: Wrapped TypeError: Unsupported command argument type: TrueClass
in 2 minutes 5 low Jobs::UserEmail {“type”=>“digest”,“user_id”=>2,“current_site_id”=>“default”} Jobs::HandledExceptionWrapper: Wrapped ArgumentError: :arguments expected to be an Array of individual string args
in 3 minutes 7 low Jobs::UserEmail {“type”=>“digest”,“user_id”=>2,“current_site_id”=>“default”} Jobs::HandledExceptionWrapper: Wrapped ArgumentError: :arguments expected to be an Array of individual string args
in 9 minutes 9 low Jobs::UserEmail {“type”=>“digest”,“user_id”=>2,“current_site_id”=>“default”} Jobs::HandledExceptionWrapper: Wrapped ArgumentError: :arguments expected to be an Array of individual string args
in 12 minutes 12 low Jobs::UserEmail {“type”=>“digest”,“user_id”=>2,“current_site_id”=>“default”} Jobs::HandledExceptionWrapper: Wrapped ArgumentError: :arguments expected to be an Array of individual string args
in 15 minutes 13 low Jobs::UserEmail {“type”=>“digest”,“user_id”=>2,“current_site_id”=>“default”} Jobs::HandledExceptionWrapper: Wrapped ArgumentError: :arguments expected to be an Array of individual string args

The site is on 2026.1.0-latest (0caa6e34fe)

Is it expected?

Thanks for posting!

That email doesn’t work is expected, but the errors you are seeing are unusual. They might be due to something else in your setup.

When I try to send an invite on my test self-hosted instance, I see this error:

Jobs::HandledExceptionWrapper: Wrapped Socket::ResolutionError: getaddrinfo: No address associated with hostname

And this notice in the dashboard

Also, the failure on this one is not related to email. Do you have more info on this from /logs?

There are two types of logged errors:

One Job exception: Unsupported command argument type: TrueClass

redis-client-0.26.1/lib/redis_client/command_builder.rb:37:in `block in generate' 
redis-client-0.26.1/lib/redis_client/command_builder.rb:28:in `map!' 
redis-client-0.26.1/lib/redis_client/command_builder.rb:28:in `generate' 
redis-client-0.26.1/lib/redis_client.rb:351:in `call_v' 
redis-5.4.0/lib/redis/client.rb:90:in `call_v' 
rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:90:in `block in profile_method' 
redis-5.4.0/lib/redis.rb:152:in `block in send_command' 
redis-5.4.0/lib/redis.rb:151:in `synchronize' 
redis-5.4.0/lib/redis.rb:151:in `send_command' 
redis-5.4.0/lib/redis/commands/hashes.rb:51:in `hmset' 
redis-5.4.0/lib/redis/commands/hashes.rb:66:in `mapped_hmset' 
/var/www/discourse/lib/discourse_redis.rb:144:in `public_send' 
/var/www/discourse/lib/discourse_redis.rb:144:in `block (3 levels) in <class:DiscourseRedis>' 
/var/www/discourse/lib/discourse_redis.rb:29:in `ignore_readonly' 
/var/www/discourse/lib/discourse_redis.rb:144:in `block (2 levels) in <class:DiscourseRedis>' 
/var/www/discourse/lib/discourse_updates.rb:116:in `block in missing_versions=' 
/var/www/discourse/lib/discourse_updates.rb:114:in `each' 
/var/www/discourse/lib/discourse_updates.rb:114:in `missing_versions=' 
/var/www/discourse/app/jobs/scheduled/call_discourse_hub.rb:19:in `execute' 
/var/www/discourse/app/jobs/base.rb:318:in `block (2 levels) in perform' 
rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
/var/www/discourse/app/jobs/base.rb:305:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:301:in `each' 
/var/www/discourse/app/jobs/base.rb:301:in `perform' 
/var/www/discourse/app/jobs/base.rb:381:in `perform' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
/var/www/discourse/lib/sidekiq/suppress_user_email_errors.rb:6:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
/var/www/discourse/lib/sidekiq/discourse_event.rb:6:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
/var/www/discourse/lib/sidekiq/pausable.rb:131:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track' 
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run' 
sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog' 
sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread' 

And 1300 Job exception: :arguments expected to be an Array of individual string args:

mail-2.9.0/lib/mail/network/delivery_methods/sendmail.rb:53:in `initialize' 
mail-2.9.0/lib/mail/message.rb:278:in `new' 
mail-2.9.0/lib/mail/message.rb:278:in `delivery_method' 
actionmailer-8.0.4/lib/action_mailer/delivery_methods.rb:66:in `wrap_delivery_behavior' 
actionmailer-8.0.4/lib/action_mailer/delivery_methods.rb:80:in `wrap_delivery_behavior!' 
actionmailer-8.0.4/lib/action_mailer/base.rb:876:in `mail' 
/var/www/discourse/lib/email/build_email_helper.rb:8:in `build_email' 
/var/www/discourse/app/mailers/user_notifications.rb:369:in `digest' 
actionpack-8.0.4/lib/abstract_controller/base.rb:215:in `process_action' 
actionpack-8.0.4/lib/abstract_controller/callbacks.rb:261:in `block in process_action' 
activesupport-8.0.4/lib/active_support/callbacks.rb:100:in `run_callbacks' 
actionpack-8.0.4/lib/abstract_controller/callbacks.rb:260:in `process_action' 
actionpack-8.0.4/lib/abstract_controller/base.rb:152:in `process' 
actionmailer-8.0.4/lib/action_mailer/rescuable.rb:29:in `block in process' 
actionmailer-8.0.4/lib/action_mailer/rescuable.rb:21:in `handle_exceptions' 
actionmailer-8.0.4/lib/action_mailer/rescuable.rb:28:in `process' 
actionview-8.0.4/lib/action_view/rendering.rb:40:in `process' 
actionmailer-8.0.4/lib/action_mailer/base.rb:652:in `block in process' 
activesupport-8.0.4/lib/active_support/notifications.rb:212:in `instrument' 
actionmailer-8.0.4/lib/action_mailer/base.rb:651:in `process' 
actionmailer-8.0.4/lib/action_mailer/message_delivery.rb:136:in `block in processed_mailer' 
<internal:kernel>:90:in `tap'
actionmailer-8.0.4/lib/action_mailer/message_delivery.rb:135:in `processed_mailer' 
actionmailer-8.0.4/lib/action_mailer/message_delivery.rb:32:in `__getobj__' 
/usr/local/lib/ruby/3.3.0/delegate.rb:84:in `method_missing'
/var/www/discourse/lib/email/sender.rb:51:in `send' 
/var/www/discourse/app/jobs/regular/user_email.rb:80:in `send_user_email' 
/var/www/discourse/app/jobs/regular/user_email.rb:40:in `execute' 
/var/www/discourse/app/jobs/base.rb:318:in `block (2 levels) in perform' 
rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in `with_connection'
/var/www/discourse/app/jobs/base.rb:305:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:301:in `each' 
/var/www/discourse/app/jobs/base.rb:301:in `perform' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:220:in `execute_job' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:185:in `block (4 levels) in process' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:180:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
/var/www/discourse/lib/sidekiq/suppress_user_email_errors.rb:6:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
/var/www/discourse/lib/sidekiq/discourse_event.rb:6:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
/var/www/discourse/lib/sidekiq/pausable.rb:131:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
sidekiq-7.3.9/lib/sidekiq/job/interrupt_handler.rb:9:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:183:in `block in traverse' 
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:26:in `track' 
sidekiq-7.3.9/lib/sidekiq/metrics/tracking.rb:134:in `call' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:182:in `traverse' 
sidekiq-7.3.9/lib/sidekiq/middleware/chain.rb:173:in `invoke' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:184:in `block (3 levels) in process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:145:in `block (6 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:118:in `local' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:144:in `block (5 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/config.rb:39:in `block in <class:Config>' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:139:in `block (4 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:281:in `stats' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:134:in `block (3 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:15:in `call' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:133:in `block (2 levels) in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_retry.rb:85:in `global' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:132:in `block in dispatch' 
sidekiq-7.3.9/lib/sidekiq/job_logger.rb:40:in `prepare' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:131:in `dispatch' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:183:in `block (2 levels) in process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `handle_interrupt' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:182:in `block in process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `handle_interrupt' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:181:in `process' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:86:in `process_one' 
sidekiq-7.3.9/lib/sidekiq/processor.rb:76:in `run' 
sidekiq-7.3.9/lib/sidekiq/component.rb:10:in `watchdog' 
sidekiq-7.3.9/lib/sidekiq/component.rb:19:in `block in safe_thread' 

I have two custom plugins installed on this instance, I can remove them and see if you think the errors can originate from here.

Hmm, neither look related to a plugin. I’ll update my instance (it’s 3 weeks old) and see if I see the same issues.

I guess Disable emails must be yes on those.

Right that might be the cause. It should be automatically set to “No” “Yes” when installing without SMTP I guess?

You mean Yes, as the setting is to “Disable”.

It should yes, but when you do that there is a super annoying global banner screaming that emails are disabled.