My admin panel says that “There are 131453 email jobs that failed.” and “The number of queued jobs is 236488, which is high”.
Anecdotal evidence suggests that my email provider (Google) silently stopped accepting most emails a few weeks ago. Right now there is a high rate of “Job exception: 454 4.7.0 Too many login attempts, please try again later. xxxxxxxxxxx - gsmtp” errors displayed in the log view.
Emails appear to be sent at a rate of about 4 per day at the moment but it is sporadic; I get this figure by looking at the sent mail history of the SMTP account Discourse is configured to connect to. Given that previous topics about sidekiq indicate that there should be a priority given to user signup and password reset emails, it is potentially also notable that since the 4th of June none of these have been sent - only digest emails have succeeded.
The image below demonstrates quite clearly when the problem begun.
The forum has 1000 users and low activity so the occasional digest email to most users makes up the bulk of the emails sent out by the system.
I am attempting to find an affordable email provider that doesn’t suck in this special Google way but in the mean time, I am concerned at the figures Discourse is reporting regarding this problem and hope someone with more knowledge about Discourse or sidekiq can shed some light on what’s happening.
I guess there is some sort of timeout for email deliverability and those failed jobs relate to emails that have disappeared forever?
Why are the numbers so much higher than the number of emails that the system sends out? The combined total is around 100 times greater than the highest bounds of expected email quantity over a few week period. Does sidekiq really require 100 jobs for every email that it sends out?!
What will happen when I rebuild and restart Discourse with a new SMTP server? I don’t want every email to be sent 100s of times
If Sidekiq is receiving a message to try again later from the email service, why is the rate of login attempts still so high? Shouldn’t it back off exponentially?
Does It initiate a new connection for every single email sent out rather than batching through a single SMTP connection? If so, won’t that always upset the upstream SMTP provider since the overhead of that approach is high?
I’m on Discourse (standard docker) version v2.1.0.beta2 +45 and by the way, loving the software so thanks to everyone that’s worked on it and offered support in this forum.