我想配置一个邮件服务器以防止删除电子邮件
最好是一个支持 maildir 并且可以与 roundcube 完美配合的
您会推荐哪个邮件服务器?配置它是否容易?
答案1
啊。。交换?
认真地说,这是高端商业的东西,而这通常是开源无法做到的。完全集成的内部保留策略以及合法安全的收发电子邮件审计(因为伪造日志在法庭上站不住脚)是 Exchange 仍然在商业领域(并且不断增长)的原因之一。
我不知道有任何开源或其他解决方案可以满足您的要求(特别是使用 maildir)。
答案2
我承认,这不是一个“专业企业 Web2.0”解决方案,但这可能会有效:
Maildir 布局如下所示:
/path/to/maildir/
new/ # Unread mails
cur/ # Read mails
因此可以写一个inotifywait
脚本等待新文件进入/path/to/maildir/cur
并删除写权限,使文件不可变,等等。
答案3
也许你可以在 IMAP 中使用“共享文件夹”的概念(赛勒斯s 有它,可能还有其他 imap 服务实现)。使邮箱所有者成为某个隐藏用户,并“共享”给真正的所有者。请参阅赛勒斯文档中的共享文件夹和 acl。只要您只使用 imap,它就可以在某种程度上与 roundcube 和其他客户端完美地协同工作。实现这一点会很有趣。
需要注意的是(不要),丑陋的文件系统黑客将导致 imap 向客户端抛出错误,而不知道外部设置:
chattr +t Maildir/{cur,new,tmp}
这会将邮件文件夹置于仅追加模式,并且仅当 MDA 将消息移动到文件夹并且没有在 maildir 中直接执行打开/写入时才有效(可能大多数 MDA 不执行第二种操作而是执行第一种操作)。
第二个丑陋的黑客,在邮件写入 maildir 后,使用 MDA 包装器 chattr +i 来处理邮件。无法保证客户端不会在 MDA 写入和 chattr 之间删除邮件