You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器重启后大量邮件变未读,如何在Dovecot标记2天前邮件为已读?

在Dovecot中将超过2天的邮件批量标记为已读

可以通过Dovecot自带的doveadm命令行工具完成批量操作,步骤如下:

1. 生成时间阈值

Dovecot搜索语法要求日期格式为DD-Mon-YYYY(例如05-Oct-2024),用系统命令生成两天前的日期:

  • Linux系统:date -d "-2 days" +"%d-%b-%Y"
  • BSD/macOS系统:date -v -2d +"%d-%b-%Y"

2. 验证目标邮件(可选但推荐)

先执行搜索命令确认符合条件的邮件范围,避免误操作:

  • 针对单个用户:
    doveadm search -u 目标用户名 BEFORE $(date -d "-2 days" +"%d-%b-%Y")
    
  • 针对所有用户:
    doveadm search -A BEFORE $(date -d "-2 days" +"%d-%b-%Y")
    

可添加-l 数量参数限制显示结果数量,比如-l 10只看前10条结果。

3. 批量标记为已读

已读邮件在Dovecot中对应\Seen标记,执行以下命令添加该标记:

  • 针对单个用户:
    doveadm flags add -u 目标用户名 \Seen BEFORE $(date -d "-2 days" +"%d-%b-%Y")
    
  • 针对所有用户:
    doveadm flags add -A \Seen BEFORE $(date -d "-2 days" +"%d-%b-%Y")
    

也可以选择移除\Unseen标记达到同样效果,将命令中的add改为remove即可。

注意事项

  • 执行操作前建议备份邮件存储目录,防止数据意外丢失。
  • 若服务器邮件数量极大,命令执行可能耗时较长,请耐心等待。
  • 不同系统的date命令语法可能有差异,请根据服务器OS调整日期生成命令。

内容的提问来源于stack exchange,提问作者nicolaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 17:02:15