com*_*eak 4 email postfix dovecot maildir
我目前正在尝试弄清楚如何删除 Debian 服务器上 Maildir 安装文件夹中的旧电子邮件。基本上我想要做的是每天运行一个 cron 作业,以便检查 Maildir 中的特定文件夹中是否有旧电子邮件,如果它们比设定的天数早,则将其删除。
是否有一种简单的方法可以按日期从 Maildir 过滤电子邮件,或者我是否必须将每封电子邮件作为文本阅读,查找时间戳,将其转换,减去提到的天数,然后将其与当前进行比较日期?
如果已经有更好的轮子,我不想发明轮子,所以如果有人能帮助我做到这一点,我会很高兴。
谢谢!
注意:我使用的是带有 Postfix 2.9.6 和 Dovecot 2.1.7 的 Debian 7.8
小智 8
既然你有 dovecot,你就可以用 doveadm(1) 做到这一点。
例如删除用户在 30 天前保存在垃圾箱文件夹中的邮件:
doveadm expunge mailbox Trash savedbefore 30d -u <user>
Run Code Online (Sandbox Code Playgroud)
您可以对所有用户使用 -A 标志,如果您想首先检查匹配的邮件,请使用搜索/获取命令 - 请参阅 doveadm-search(1):
doveadm search mailbox Trash savedbefore 30d -u <user> |
while read guid uid; do
doveadm fetch -u <user> body mailbox-guid $guid uid $uid > msg.$uid
done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3255 次 |
最近记录: |