Not sending "forgot password" type emails



For a while now I noticed none of “forgot password”/ “new user confirmation” etc sort of emails are being sent form my discourse instance. Event though discourse version on my admin panel shows that the version is up to date, my sidekiq keeps failing version check jobs with this error:

/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rest-client-1.8.0/lib/restclient/request.rb:427:in `rescue in transmit'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rest-client-1.8.0/lib/restclient/request.rb:350:in `transmit'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rest-client-1.8.0/lib/restclient/request.rb:176:in `execute'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rest-client-1.8.0/lib/restclient/request.rb:41:in `execute'
/var/www/discourse/vendor/bundle/ruby/2.3.0/gems/rest-client-1.8.0/lib/restclient.rb:65:in `get'
/var/www/discourse/lib/discourse_hub.rb:36:in `singular_action'
/var/www/discourse/lib/discourse_hub.rb:20:in `get'
/var/www/discourse/lib/discourse_hub.rb:13:in `discourse_version_check'
/var/www/discourse/app/jobs/scheduled/version_check.rb:13:in `execute'
/var/www/discourse/app/jobs/base.rb:154:in `block (2 levels) in perform'`

As for sending emails, SMTP is set up correctly. Users do get notifications on new posts etc. In sidekiq I see job enqueued like this:

Jobs::CriticalUserEmail 	[{"type"=>"forgot_password", "user_id"=>1, "email_token"=>"a8d4791c1c75177a17259f6666666668", "current_site_id"=>"default"}]

But it’s never executed.

My discourse is running form source rather then docker. I’ve updated yesterday to the latest version, but this issue has been there for a while now.


hmmm I think it’s related to somehow sidekiq not processing queues different then ‘default’?

(Felix Freiberger) #3

We cannot support non-Docker installs here :frowning:

My recommendation would be to take a backup, migrate to a docker-based install, and import your backup.


Yes I know you’re not supporting anything other then docker. Just thought there might be more people running discourse outside of docker.

For anyone bumping into the issue, I removed development: line from config/sidekiq.yml. Seems like a dirty hack but works for now. Anyone knows why running production, sidekiq looks only at default queue?