根据主题模式删除邮件

根据主题模式删除邮件

是否可以删除主题与正则表达式模式匹配的所有邮件?

例如,要删除消息 1,您可以执行以下操作:

d 1

但是要删除主题以 开头的所有邮件[SPAM],我不能这样做:

d -s "^\[SPAM\].*$"

答案1

我正在回答这个问题,以防有人遇到同样的问题。

似乎没有任何方法可以通过使用模式匹配来进行批量删除mail。另一种方法是使用mutt邮件客户端,它具有以下功能:

D \[SPAM\]

感谢@thrig 和@dirkt 提出替代方案。

答案2

根据“man mail”,有很多不同的模式来指定诸如“d”之类的删除命令将处理的邮件。对于询问的主题行,您可以使用

(subject string)
      All messages that contain string in the Subject: field.

在邮件命令中你可以写:

& d (subject Happy Birthday)

这将删除主题中包含字符串“生日快乐”的每封邮件。其他字段和不同日期相关标准也有模式(已使用“Heirloom Mail version 12.4 7/29/08”进行测试。)

答案3

我一直在寻找相同的东西但没有成功,所以我决定尝试这样的:

echo 'f 1-$' | mail -N | grep 'SPAM' | awk '{print $1}'

或者print $0 查看完整的标头以显示带有字符串“SPAM”的邮件号码。

所以如果你认为可以的话你可以删除所有这些。

echo 'd #1 #2 #3 ...' | mail -N

或者制作一个完整的脚本。

相关内容