Le email in arrivo non vengono più elaborate, il log mostra Email non può essere elaborato: Email::Receiver::EmptyEmailError

Improvvisamente il sistema ha smesso di elaborare le email. Nel log, posso vedere la seguente voce:

Message (7560 copies reported)

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


Backtrace

/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.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'
/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:46:in `block in poll_pop3'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/net-pop-0.1.2/lib/net/pop.rb:531:in `start'

Ho controllato la casella di posta e non riesco a vedere email sospette…

L’errore non viene mostrato nell’elenco dei messaggi rifiutati, infatti, non c’è più nulla elencato lì.

Tutte le email sembrano rimanere nella casella di posta senza essere elaborate.

È successo anche a me una volta mentre recuperavo le email tramite pop e andavo in timeout a causa di una casella di posta enorme.

Elimini i messaggi ricevuti?

Non l’ho fatto, ma non ci sono molte email. Circa 30.

E in realtà ho bisogno che vengano elaborate…

Hai provato Email::Processor does not expect to be called with mail=nil - #17 by davidb?

1 Mi Piace

Sì, questa impostazione è stata abilitata per tutto il tempo.

Penso che ci sia qualcosa che non va con il provider di posta elettronica. Succedono cose strane…

Grazie per aver cercato di aiutare, se ci riuscirò, te lo farò sapere!

Se ricordo bene, ho corretto il codice in esecuzione di discourse per ignorare le email vuote.

Potresti provare a inserire return if @mail.blank? prima della riga 18.

In alternativa, potresti provare a rimuovere il job fallito da sidekiq.

(Farei un backup prima di tali esperimenti)

2 Mi Piace

E se isso resolver, então isso deve ser movido para Bug.

2 Mi Piace

Aspetta. Sembra che il server di posta abbia dei problemi. Oltre all’errore di posta vuota, ricevo anche un timeout di lettura, che inizialmente non avevo associato al processo di posta elettronica, ma è così.

Attualmente sto parlando con il mio provider di posta elettronica, che ha confermato che sembra esserci qualcosa che non va dalla sua parte.

Appena ne saprò di più, ti farò sapere!

2 Mi Piace

Ok, abbiamo trovato il colpevole. Era una singola email, non appena ho spostato quell’email in una cartella separata, il resto delle email è stato elaborato correttamente.

Un client IMAP può vedere quell’email senza problemi. Se volete, potrei inviare il contenuto grezzo di quell’email (incluse intestazioni e tutto) in un messaggio privato, in modo che possiate controllare e correggere il motivo per cui il processo si blocca.

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Ci sono possibilità che tu abbia ancora quell’email in giro? Mi piacerebbe darle un’occhiata (in un PM) se ce l’hai :+1: