# 进入的电子邮件不再处理，日志显示无法处理电子邮件：Email::Receiver::EmptyEmailError

**URL:** https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228
**Category:** Self-hosting
**Tags:** email
**Created:** [2024年三月13日 21:08 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228 "2024-03-13T21:08:24Z")
**Posts on this page:** 12
**Page:** 1

<div class="post-metadata">

### Author: ![MKorndoerfer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mkorndoerfer/32/82766_2.png) [@MKorndoerfer](https://meta.discourse.org/u/MKorndoerfer)
#### Post date: [2024年三月13日 21:08 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/1 "2024-03-13T21:08:25Z")

</div>

突然，系统停止处理电子邮件。在日志中，我可以看到以下条目：

```plaintext
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'

```

我检查了收件箱，没有发现任何可疑邮件……

错误未显示在拒绝列表中，事实上，那里已不再列出任何内容。

所有邮件似乎都保留在收件箱中，未被处理。

---

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [2024年三月13日 21:14 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/2 "2024-03-13T21:14:13Z")

</div>

我在通过 pop 轮询邮件时，由于收件箱过大导致超时，[曾遇到过一次这种情况](https://meta.discourse.org/t/email-processor-does-not-expect-to-be-called-with-mail-nil/258428/2)。

您会删除收到的邮件吗？

---

<div class="post-metadata">

### Author: ![MKorndoerfer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mkorndoerfer/32/82766_2.png) [@MKorndoerfer](https://meta.discourse.org/u/MKorndoerfer)
#### Post date: [2024年三月13日 21:16 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/3 "2024-03-13T21:16:32Z")

</div>

我还没有，但邮件不多。大约 30 封。

而且我实际上需要处理它们……

---

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [2024年三月13日 21:23 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/4 "2024-03-13T21:23:24Z")

</div>

您尝试过 [Email::Processor does not expect to be called with mail=nil - #17 by davidb](https://meta.discourse.org/t/email-processor-does-not-expect-to-be-called-with-mail-nil/258428/17) 吗？

---

<div class="post-metadata">

### Author: ![MKorndoerfer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mkorndoerfer/32/82766_2.png) [@MKorndoerfer](https://meta.discourse.org/u/MKorndoerfer)
#### Post date: [2024年三月13日 21:27 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/5 "2024-03-13T21:27:38Z")

</div>

是的，此设置一直都已启用。

---

<div class="post-metadata">

### Author: ![MKorndoerfer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mkorndoerfer/32/82766_2.png) [@MKorndoerfer](https://meta.discourse.org/u/MKorndoerfer)
#### Post date: [2024年三月13日 21:33 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/6 "2024-03-13T21:33:45Z")

</div>

我认为电子邮件提供商有问题。奇怪的事情正在发生……

谢谢你的帮助，如果我弄明白了，我会告诉你的！

---

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [2024年三月13日 21:38 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/7 "2024-03-13T21:38:01Z")

</div>

如果我没记错的话，我修补了正在运行的 discourse 代码以忽略空邮件。

> <https://github.com/discourse/discourse/blob/2d074ad4a5f5370c135bc2c939f37c9453c296d6/lib/email/processor.rb#L16-L21>

你可以在第 18 行之前尝试插入 `return if @mail.blank?`。

或者，你可以尝试从 sidekiq 中移除失败的任务。

（在进行此类实验之前，我会先进行备份）

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2024年三月13日 22:13 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/8 "2024-03-13T22:13:50Z")

</div>

如果这能解决问题，那么应该将其移至 #contribute:bug。

---

<div class="post-metadata">

### Author: ![MKorndoerfer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mkorndoerfer/32/82766_2.png) [@MKorndoerfer](https://meta.discourse.org/u/MKorndoerfer)
#### Post date: [2024年三月13日 22:15 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/9 "2024-03-13T22:15:43Z")

</div>

请稍等。似乎邮件服务器出了点问题。除了空邮件错误之外，我还遇到了读取超时，这最初我并没有将其与邮件过程联系起来，但事实确实如此。

我目前正在与我的邮件托管服务商沟通，他已确认似乎是他们那边出了些问题。

一旦我了解更多情况，会立即告知您！

---

<div class="post-metadata">

### Author: ![MKorndoerfer](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/mkorndoerfer/32/82766_2.png) [@MKorndoerfer](https://meta.discourse.org/u/MKorndoerfer)
#### Post date: [2024年三月14日 07:43 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/10 "2024-03-14T07:43:38Z")

</div>

好的，我们找到了罪魁祸首。原来是有一封邮件有问题，我把它移到一个单独的文件夹后，其余的邮件就都能正常处理了。

IMAP 客户端可以正常显示这封邮件。如果你需要，我可以私信你这封邮件的原始内容（包括所有头部信息），以便你检查和调试导致进程挂起的具体原因。

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [2024年六月4日 11:04 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/11 "2024-06-04T11:04:42Z")

</div>

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

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [2025年二月7日 11:01 UTC](https://meta.discourse.org/t/incoming-emails-no-longer-processed-log-showing-email-can-not-be-processed-email-emptyemailerror/299228/12 "2025-02-07T11:01:00Z")

</div>

> [@MKorndoerfer](#):
>
> 好的，我们找到了罪魁祸首。是一封邮件，我把它移到一个单独的文件夹后，其余的邮件就得到了正确处理。

你还有那封邮件吗？如果你有的话，我很想看看（通过私信）：+1：
