1

我运行自己的邮件服务器。它使用 procmail 过滤传入的邮件,然后将其存储在 maildirs 中并使用 IMAP 从我的 MUA 中获取。我有大约 1.5GB 的电子邮件是 135000 个 inode。

这一切都很好。但是,我宁愿停止使用 maildir 并改用更高效的东西——例如 maildb 或 Dovecot 的 dbox。不幸的是,procmail 只能传送到非常有限的一组后备存储格式(Maildir、MH 和 mbox、AFAICT)。

我真正想做的是说服 procmail 通过 IMAP 发送电子邮件,而不是直接将其写入后备存储;这意味着我可以随时更改后备存储格式,而无需重新配置 procmail。但我找不到任何方法来做到这一点。有任何想法吗?

(我也对任何其他类似 procmail 但支持 IMAP 的邮件过滤工具感兴趣。我知道的唯一其他过滤工具是 maildrop --- 但它与 procmail 有类似的限制。)

4

2 回答 2

4

好的,这是一个适当的解决方案。

cone 项目(http://www.courier-mta.org/cone/cone00index.html,Debian 项目:cone)有一个非常方便的工具,称为mailtool它可以在邮箱类型之间复制文件,包括远程 IMAP 服务器。

因此,要将消息传递到远程邮箱,您需要一个脚本:

  • 将传入消息写入文件(成为单消息 mbox 文件夹)
  • mailtool -tofolder destinationfolder -copyto imaps://username:password@server.com mbox:/full/path/to/message.mbox

然后将上传消息。

我实际上不再需要这样做,所以没有准备好的脚本可以发布,但是在可用的八九种不同的 IMAP 工具中,这是唯一可以真正做到这一点的工具,因此值得记录.

于 2012-08-15T16:43:28.597 回答
2

作为对我自己问题的部分回答,Dovecot 似乎确实带有deliver专门为这种事情设计的工具。它可以从 procmail 使用,如下所示:

| /usr/lib/dovecot/deliver -m "Folder.Name"

...它会自动计算出所有其余的设置。

所以现在我可以更改 Dovecot 邮件存储格式,一切仍然有效;但我仍然想要一种实际使用 IMAP 来传递消息的方法,这样我就可以尝试使用 Dovecot 以外的 IMAP 服务器。

于 2011-08-03T16:05:55.683 回答