集成多个邮箱(dovecot,Exim,maildir)

在停电之后,我已经为每个用户在不同的机器上安装了2个邮箱。 我已经closures了临时机器,并将邮箱放在真正的服务器上/srv/scratch/$username/Maildir/... ,并且需要将来自它们的消息,理想地保持读/看状态用户的标准邮箱/srv/mail/$username/Maildir/... 我没有优先select这是否是作为一个子文件夹,或在他们的主要收件箱,但我有信心没有任何临时邮箱包含子文件夹本身。 (如果他们这样做,更愚弄用户,明确告诉不要在临时帐户上这样做!)

是否有一个很好的方法可以最大限度地减less邮件丢失的风险,并且意味着他们的客户端在重新连接时会自动选取新的文件夹/邮件(无论哪一个)。 或者,我需要做些什么才能将Dovecot转移到Maildrs之后的新消息?

两台服务器都是使用Exim4交付,而Dovecot则使用IMAP。

我会使用几乎Maildir交付规范脚本移动文件到位,其中涉及使用tmp / dir,然后重命名到新/ dir,但为此,您将重命名为cur /或new / dir,取决于原始文件在哪里。

鉴于文件名embedded时间戳,你应该有很less(零)的冲突,但偏执是好的。 将文件写入tmp /; 如果这是一个cur /文件,则保存文件名外的状态后缀; 无论是移动到新的/还是在cur /中检查是否存在同名的新/或相同的前缀; 然后重新命名适当。

注意不要通过内存崩溃丢失cur / -in-tmp /上的后缀; 所有采取行动的日志文件日志将帮助您重新构build是否出现问题。