一个简单的问题: 我想将具有特定主题的电子邮件移动到文件夹,然后将其标记为已读。移动为我工作
:0: H
* ^Subject:.*(ThisIsMySubject)
$HOME/mail/ThisIsMyFolder
但是如何将邮件标记为已读?
答案 0 :(得分:13)
注意:更新了dec。 2011年第16期
以下食谱适合我。 .Junk
是垃圾邮件文件夹:
MAILDIR=$HOME/Maildir
:0
* ^X-Spam-Flag: YES
{
# First deliver to maildir so LASTFOLDER gets set
:0 c
.Junk
# Manipulate the filename
:0 ai
* LASTFOLDER ?? ()\/[^/]+^^
|mv "$LASTFOLDER" "$MAILDIR/.Junk/cur/$MATCH:2,S"
}
前言:最近我(不,我想)用maildropfilter做同样的事情。在阅读man maildropfilter
后,我编造了以下食谱。我相信人们会发现这个方便 - 我知道我这样做。
以下示例将新电子邮件标记为已读,但也标记为未读旧邮件。
SPAMDIRFULL="$DEFAULT/.Junk"
if ( /^X-Spam-Flag: YES$/ || \
/^X-Spam-Level: \*\*\*/ || \
/^Subject: \*+SPAM\*/ )
{
exception {
cc "$SPAMDIRFULL"
`for x in ${SPAMDIRFULL}/new/*; do [ -f $x ] && mv $x ${SPAMDIRFULL}/cur/${x##*/}:2,S; done`
`for x in ${SPAMDIRFULL}/cur/*:2,; do [ -f $x ] && mv $x ${SPAMDIRFULL}/cur/${x##*/}S; done`
to "/dev/null"
}
}
请注意,exception
命令可能会读取违反直觉的内容。手册说明如下:
异常语句捕获通常会导致的错误 maildrop终止。如果在任何地方遇到致命错误 由exception子句包含的语句块,执行 将在例外条款之后立即恢复。