无法处理电子邮件:Email::Receiver::EmptyEmailError

我遇到了与此处描述的相同问题。本质上,一封电子邮件导致整个队列失败,阻止了任何电子邮件被处理。

从日志中可以看出:

无法处理电子邮件:Email::Receiver::EmptyEmailError


activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `block in warn'[ ](https://github.com/rails/rails/tree/v7.2.2.1/activesupport/lib/active_support/broadcast_logger.rb#L130)

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `block in dispatch'[ ](https://github.com/rails/rails/tree/v7.2.2.1/activesupport/lib/active_support/broadcast_logger.rb#L231)

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `each'[ ](https://github.com/rails/rails/tree/v7.2.2.1/activesupport/lib/active_support/broadcast_logger.rb#L231)

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:231:in `dispatch'[ ](https://github.com/rails/rails/tree/v7.2.2.1/activesupport/lib/active_support/broadcast_logger.rb#L231)

activesupport-7.2.2.1/lib/active_support/broadcast_logger.rb:130:in `warn'[ ](https://github.com/rails/rails/tree/v7.2.2.1/activesupport/lib/active_support/broadcast_logger.rb#L130)

/var/www/discourse/lib/email/processor.rb:183:in `log_email_process_failure'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/lib/email/processor.rb#L183)

/var/www/discourse/lib/email/processor.rb:29:in `rescue in process!'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/lib/email/processor.rb#L29)

/var/www/discourse/lib/email/processor.rb:16:in `process!'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/lib/email/processor.rb#L16)

/var/www/discourse/lib/email/processor.rb:13:in `process!'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/lib/email/processor.rb#L13)

/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:29:in `process_popmail'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/scheduled/poll_mailbox.rb#L29)

/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:49:in `block (2 levels) in poll_pop3'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/scheduled/poll_mailbox.rb#L49)

net-pop-0.1.2/lib/net/pop.rb:669:in `each'[ ](https://github.com/ruby/net-pop/blob/master/lib/net/pop.rb#L669)

net-pop-0.1.2/lib/net/pop.rb:669:in `each_mail'[ ](https://github.com/ruby/net-pop/blob/master/lib/net/pop.rb#L669)

/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:46:in `block in poll_pop3'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/scheduled/poll_mailbox.rb#L46)

net-pop-0.1.2/lib/net/pop.rb:531:in `start'[ ](https://github.com/ruby/net-pop/blob/master/lib/net/pop.rb#L531)

/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:45:in `poll_pop3'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/scheduled/poll_mailbox.rb#L45)

/var/www/discourse/app/jobs/scheduled/poll_mailbox.rb:14:in `execute'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/scheduled/poll_mailbox.rb#L14)

/var/www/discourse/app/jobs/base.rb:316:in `block (2 levels) in perform'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/base.rb#L316)

rails_multisite-6.1.0/lib/rails_multisite/connection_management/null_instance.rb:49:in `with_connection'

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'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/base.rb#L303)

/var/www/discourse/app/jobs/base.rb:299:in `each'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/base.rb#L299)

/var/www/discourse/app/jobs/base.rb:299:in `perform'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/base.rb#L299)


/var/www/discourse/app/jobs/base.rb:379:in `perform'[ ](https://github.com/discourse/discourse/blob/486ff2a5643f7a5ac66ccef11a97d6c2a282c9ee/app/jobs/base.rb#L379)

mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in `process_queue'[ ](https://github.com/discourse/mini_scheduler/blob/master/lib/mini_scheduler/manager.rb#L137)

mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in `worker_loop'[ ](https://github.com/discourse/mini_scheduler/blob/master/lib/mini_scheduler/manager.rb#L77)

mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in `block (2 levels) in ensure_worker_threads'[ ](https://github.com/discourse/mini_scheduler/blob/master/lib/mini_scheduler/manager.rb#L63)

这似乎是一个反复出现的问题,希望能得到解决。至少,可以优化处理此类情况的流程。例如,通过隔离有问题的电子邮件,以便其他电子邮件仍能得到处理。它也可能有助于在管理仪表板中包含一个警告,类似于传出电子邮件问题的警告。

如果您需要,我可以私信提供电子邮件正文。谢谢。

2 个赞

很想收到“原始”邮件 :+1: