X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/4a3212dc350e8b9584823bf603e3eb71a7528cae..85171c57cf8d29527f4c7961ac276b38c301047a:/procmail/deliver diff --git a/procmail/deliver b/procmail/deliver index 7a7b9a9..af2f70c 100644 --- a/procmail/deliver +++ b/procmail/deliver @@ -1,14 +1,43 @@ :0 -*$ $DEST +*$ DEST ?? ^$NULL$ { - LOG="deliver: delivering message $MSGID to $DEST$NL" + LOG="deliver: sending message $MSGID to $DEST$NL" + :0 - $DEST + $NULL } -:0 E +:0 +* ! DEST ?? . +{ DEST=/ } + +:0 +* DEST ?? .+[^/]$ +{ DEST="$DEST/" } + +:0 +*$ DEST ?? ^$BASE/\/.+ +{ DEST="$MATCH" } + +:0 +*$ ! DEST ?? ^\. +{ DEST=".$DEST" } + +:0 +* MARK_READ ?? . +{ + LOG="deliver: marking messages $MSGID as read because of $MARK_READ$NL" + TRAP="$TRAP; BASENAME=\"\${DESTFILE##*/}:2,S\"" + TRAP="$TRAP; DIRNAME=\"\${DESTFILE%/new/*}/cur\"" + TRAP="$TRAP; DESTFILE=\"\$DIRNAME/\$BASENAME\"" + TRAP="$TRAP; mv \"\$LASTFOLDER\" \"$BASE/\$DESTFILE\"" +} + +:0 { - LOG="deliver: delivering message $MSGID to default destination$NL" + LOG="deliver: delivering message $MSGID to $DEST$NL" + TRAP="$TRAP; echo \"delivered: \$DESTFILE\" >> '$THISLOGFILE'" + :0 - $DEFAULT + $BASE/$DEST }