使用Dovecot,当涉及到收件箱清除时,我遇到了相当令人不安的问题。 这是我的设置:
/var/mail/domain/user 。 相当基本的设置。 现在想象下面的情况:
但是,这里的问题…在这一刻,/ /var/mail/mydomain.tld/johndoe )仍然存在。 现在想象:
现在有趣的是:以前的John Doe在离开前并没有删除他的电子邮件,新的John Doe已经访问了以前的邮箱内容(因为地址相同,他被给了相同的收件箱位置)。 我们希望John Doe号码1在他的收件箱中没有任何凭据,信用卡信息或类似的东西。
所以这里是我的问题: 删除一个Dovecot用户有没有适当的方法来删除实际的收件箱? 在我的例子中,当第一个John Doe消失时(第二步,服务重启可能?),我想要删除/var/mail/mydomain.tld/johndoe 。 现在,我可以使用我的前端应用程序(一个填充MySQL后端的PHP应用程序)以编程方式执行此操作,但这会造成权限混乱(允许Web用户访问邮箱,谢谢!)
在我们的设置中,我们使用postgres作为后端来存储user信息。 我们将account_status设置为DB中的DELETED ,并且拥有一个cron,它将整个帐户的备份从文件系统中删除。 这个问题也在dovecot 邮件列表中讨论过,解决schemebuild议使用rm
rm -rf `doveadm user -f home $username`