Severe Email Issue since last update a couple days ago - 3.4.0.beta4-dev

It feels like since I last updated discourse a few days back, that reply email is no longer working, it is not being received and thus not updating the topic, and sent email for watched categories is also misbehaving, only sending 5 of 65.

Does anyone else have recent email issues?

2 Likes

Yes, I have the same issues with 3.4.0.beta4-dev unfortunately. I tried everything from re-evaluating app.yml file; checking mail DNS settings. Ironically, from terminal I was able to send via smtp in Discourse docker container using wasm. Which I think may be coming from config bug somewhere. This is a big problem for all users registered who can’t be receiving emails for posts, newsletters, password reset. 550 ERR message has been ongoing since the new update. Now I’m praying rolling back to v3.4.0.beta2 would solve this bug

1 Like

Glad it is not just me, hopefully some developer will fix this issue ASAP. I have no idea how to rollback.

Installed
3.4.0.beta4-dev
58f75ed205

There was also a postgres database update from 13 to 15 that took place at the same time.

Don’t know if postgres update messed up the settings config from GUI as I’ve noticed adding POP3 server info for polling did not invoke any changes to the app.yml discourse config file…very strange. The roll back is a little a tricky as it requires you to get into git tags and rebuild the entire app from versions. Using chatGPT for this can help troubleshoot.

Did you get it working by rolling back a version?

I am hoping the dev team hops on this real soon and creates a forward fix.

I tried git checkout v3.4.0.beta2 in the docker but failed multiple times to roll back despite specifying app.yml file as well. So will see if there’s a contact person at Discourse to fix this 550 err bug for beta5 soon.

Where are you seeing this error? I just have big issues with email, but not sure where to see the 550 err, thx

I am not seeing any errors in the email logs via the gui, just the replies are not received and the sent emails only go to a few individuals, when they should go to about 65 people.

I see this at /logs:

image

Please do not @mention team members.

If you are paying Discourse customer you can get priority support by contacting team@discourse.org, otherwise it is best effort.

When reporting, please specify which mail provider you are using, maybe something regressed on a commonly used mail provider for Discourse. I don’t know.

2 Likes

I am so sorry, I did not realize that, I will not do that again. Thank you for pointing this out to me about the mentions.

I use brevo, but I don’t think it’s related to brevo based on what I see that some emails do go out.

The replies are coming via Gmail but that has always worked.

Perhaps the other responder can let us know what he is using. He has the same issue.

It’s under server logs and reports. Can send test email and will return 550 Mail error in Skipped tab. Haven’t heard anything from any developer. I think also with PostGres 15 update the settings may not be transferred to the db to execute if app.yml requires communication.

I can successfully send a test email, no error. That Test email goes out via Brevo.

The issue for me is the watched category emails only go out to a few users. The missing emails don’t show up as skipped. The bulk of the users just don’t get sent the emails

The second issue is the Reply emails never make it into the system

These issues only started after the recent upgrade

I’m on Ubuntu 22.04, which also had a container upgrade recently, but I did not notice the email issue until after I updated discourse, Which of course also upgraded Postgres.

What operating system are you running Phil?

this shows up a lot in the production log:

Email can not be processed: Email::Receiver::EmptyEmailError

tail -1000 production.log-20250202 | grep ‘Email::Receiver::EmptyEmailError’ | wc -l
291

I see this topic, but don’t understand the solution, anyone can explain it to me please? Like where is the inbox located? I can see my inbox if I click on messages twice for my account, and can delete those messages, but there are not many. So, I mean how do I see all the incoming reply emails, which inbox, etc

When you click on the error, do you see more details? I could very well be a single email being weirdly / badly formatted and we keep re-scheduling the job that is supposed to process it.

Note I just posted to a topic that should have created 65 emails, but it only created 5 in sent, nothing skipped, etc. No error and no warning.

There is one error in /logs from yesterday, and a warninig, no idea if they are related to my email issues:

Message (552 copies reported)

Job exception: Net::ReadTimeout

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:229:in `rbuf_fill'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:199:in `readuntil'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-protocol-0.2.2/lib/net/protocol.rb:377:in `each_message_chunk'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:958:in `block in retr'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:1016:in `critical'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:956:in `retr'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:810:in `pop'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:47:in `block (2 levels) in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:46:in `block in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:531:in `start'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in `poll_pop3'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/app/jobs/base.rb:379:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'




Message (694 copies reported)

Email can not be processed: Email::Receiver::EmptyEmailError



Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'
/var/www/discourse/lib/email/processor.rb:183:in `log_email_process_failure'
/var/www/discourse/lib/email/processor.rb:29:in `rescue in process!'
/var/www/discourse/lib/email/processor.rb:16:in `process!'
/var/www/discourse/lib/email/processor.rb:13:in `process!'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:29:in `process_popmail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:49:in `block (2 levels) in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:46:in `block in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/net-pop-0.1.2/lib/net/pop.rb:531:in `start'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in `poll_pop3'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in `execute'
/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-6.1.0/lib/rails_multisite/connection_management.rb:21:in `with_connection'
/var/www/discourse/app/jobs/base.rb:303:in `block in perform'
/var/www/discourse/app/jobs/base.rb:299:in `each'
/var/www/discourse/app/jobs/base.rb:299:in `perform'
/var/www/discourse/app/jobs/base.rb:379:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'

How do you know it should have created 65 emails?

1 Like