使用dovecot时,移动IMAP消息文件是否安全?

我正在运行postfix + dovecot,所有IMAP消息都在/var/vmail/DOMAIN/USER 。 我想制作一个cron脚本,它将查找名为“False Positives”的文件夹中的所有用户的消息,然后将它们作为火腿sa-learn ,然后将它们移动到收件箱中。

这里的问题是,只是在这些消息文件之一是安全的吗? 还是必须通过一些“官方”手段来完成,以便IMAP服务器意识到这一举措?

Dovecot检测邮箱更改并自动重build索引。 但是,您可以使用dovecot的doveadm命令而不是“mv”,并保存不必要的索引重build。

像这样的东西应该工作:

 doveadm search -A mailbox 'False Positives' 2>/dev/null | while read user guid uid; do doveadm fetch -u $user text mailbox-guid $guid uid $uid | sa-learn --ham ; doveadm move -u $user INBOX mailbox-guid $guid uid $uid ; done Learned tokens from 1 message(s) (1 message(s) examined) Learned tokens from 1 message(s) (1 message(s) examined) Learned tokens from 1 message(s) (1 message(s) examined) 

说明:

  • doveadm search -A mailbox 'False Positives' – >返回“False Positives”文件夹中的所有邮件的用户/ guid / uid
  • doveadm fetch -u $user text mailbox-guid $guid uid $uid | sa-learn --ham doveadm fetch -u $user text mailbox-guid $guid uid $uid | sa-learn --ham – >打印出完整的信息(标题和正文)并将其传送给sa-learn
  • doveadm move -u $user INBOX mailbox-guid $guid uid $uid – >将消息移至INBOX