POP3 Email Failing can't figure out why

AI-generated summary

The user Jose_C_Gomez is experiencing issues with POP3 email reception on their Discourse instance, as indicated by error logs showing Email::Receiver::EmptyEmailError and Net::ReadTimeout. The problem started around 9 days ago, affecting bounce notifications and Amazon SES. Despite correct configuration and successful external connections, emails aren’t being processed. The issue appears to be related to a large number of emails in the mailbox, as suggested by thoka, who noted that timeouts occurred due to too many messages. Jose_C_Gomez resolved the issue by deleting archived emails, confirming that the volume of messages was the root cause.

Seeing the following error on the logs

750194
Email can not be processed: Email::Receiver::EmptyEmailError
/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:23:in `process_popmail' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:43:in `block (2 levels) in poll_pop3' 
net-pop-0.1.2/lib/net/pop.rb:669:in `each' 
net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:40:in `block in poll_pop3' 
net-pop-0.1.2/lib/net/pop.rb:531:in `start' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:39:in `poll_pop3' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in `execute' 
/var/www/discourse/app/jobs/base.rb:249:in `block (2 levels) in perform' 
rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/app/jobs/base.rb:236:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:232:in `each' 
/var/www/discourse/app/jobs/base.rb:232:in `perform' 
/var/www/discourse/app/jobs/base.rb:297:in `perform' 
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:122:in `process_queue' 
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:70:in `worker_loop' 
mini_scheduler-0.16.0/lib/mini_scheduler/manager.rb:59:in `block (2 levels) in ensure_worker_threads' 

Looks like we stopped receiving email like 9 days ago

Which caused our bounce notifications not to come through and lead to issues with Amazon SES. I am trying to understand why POP3 is not receiving email, it is configured correctly as far as I can tell and the account appears to be working ok I can connect externally etc

Any ideas welcome.

Thanks!

I am also seeing these in the errors

/var/www/discourse/lib/email/processor.rb:27: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:23:in `process_popmail' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:43:in `block (2 levels) in poll_pop3' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:40:in `block in poll_pop3' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/net-pop-0.1.2/lib/net/pop.rb:531:in `start' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:39:in `poll_pop3' 
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in `execute' 
/var/www/discourse/app/jobs/base.rb:249:in `block (2 levels) in perform' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:80:in `with_connection' 
/var/www/discourse/app/jobs/base.rb:236:in `block in perform' 
/var/www/discourse/app/jobs/base.rb:232:in `each' 
/var/www/discourse/app/jobs/base.rb:232:in `perform' 
/var/www/discourse/app/jobs/base.rb:297:in `perform' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/mini_scheduler-0.15.0/lib/mini_scheduler/manager.rb:122:in `process_queue' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/mini_scheduler-0.15.0/lib/mini_scheduler/manager.rb:70:in `worker_loop' 
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/mini_scheduler-0.15.0/lib/mini_scheduler/manager.rb:59:in `block (2 levels) in ensure_worker_threads' 
Message (53 copies reported)

Job exception: Net::ReadTimeout


Backtrace

/usr/local/lib/ruby/3.2.0/net/protocol.rb:229:in `rbuf_fill'
/usr/local/lib/ruby/3.2.0/net/protocol.rb:199:in `readuntil'
/usr/local/lib/ruby/3.2.0/net/protocol.rb:377:in `each_message_chunk'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:958:in `block in retr'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:1016:in `critical'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:956:in `retr'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:810:in `pop'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:41:in `block (2 levels) in poll_pop3'
/var/www/discourse/
vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail'

Ram through this

The response was nill if I entered everything correctly and got an error if I put in the wrong password so it seems fine.

Grasping at straws

How many emails do you see, if you connect with a mail-client ?

In my case, I disabled deleting old messages and got timeouts with too many mails in the queue.
After moving processed mails to an archive, the timeouts disappeared.

Had to go in and delete all archived emails too wow thanks that worked