13 messages in net.sourceforge.lists.courier-maildropRe: [maildropl] Vacation scripting fo...
FromSent OnAttachments
Todd LyonsOct 13, 2005 1:59 pm 
Rolan YangOct 13, 2005 2:15 pm 
Todd LyonsOct 13, 2005 2:50 pm 
moussOct 13, 2005 6:27 pm 
Todd LyonsOct 14, 2005 11:37 am 
moussOct 14, 2005 3:39 pm 
Todd LyonsOct 14, 2005 4:05 pm 
moussOct 15, 2005 5:45 am 
Todd LyonsOct 17, 2005 10:48 am 
Ralf HildebrandtOct 18, 2005 5:21 am 
Todd LyonsOct 18, 2005 8:51 am 
Ralf HildebrandtOct 18, 2005 8:54 am 
Todd LyonsOct 19, 2005 12:12 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [maildropl] Vacation scripting for maildropActions...
From:Todd Lyons (tly@ivenue.com)
Date:Oct 14, 2005 4:05:10 pm
List:net.sourceforge.lists.courier-maildrop

mouss wanted us to know:

Thanks for the pointer. That answered all of my questions. I have added checks for the appropriate headers and the scripting now adds the required headers.

good. can you post the updated version?

Sure. But technically, I fibbed a little. It doesn't do the header checks to make sure that the recipient is listed in the To or Cc. I've yet to add that. But here is what is working for me at this point.

# Global maildrop filter file

logfile "/var/log/maildrop.log"

DEFAULT="$HOME/Maildir/"

`test -f $HOME/vacation.msg` if ( $RETURNCODE == 0 ) { log "Vacation mode, normal email delivery to $LOGNAME:" cc $DEFAULT

/^Precedence:.*/ if ( $MATCH =~ /bulk|list|junk/ ) { log "No vacation message: $MATCH" exit }

/^(X-BeenThere|X-Loop|Mailing-List|Auto-Submitted):.*/ if ( $MATCH ) { log "No vacation message: $MATCH" exit }

/^(From|Return-Path):.*/ if ( $MATCH =~ /MAILER-DAEMON/ ) { log "No vacation message: $MATCH" exit }

/^X-Spam-Status:.*/ if ( $MATCH =~ /Yes/ ) { log "No vacation message: $MATCH" exit }

xfilter "reformail -r -t -I 'From: $LOGNAME' -I 'X-Loop: Vacation for
$LOGNAME' -I 'Reply-To: $LOGNAME' -I 'Auto-Submitted: auto-replied' -I
'Precedence: bulk'" /^To:.*/ getaddr($MATCH) =~ /^.*/;

MATCH=tolower($MATCH); flock "vacation.lock" { `fgrep -iqx "$MATCH" vacation.lst 2>/dev/null || { \ echo "$MATCH" >> vacation.lst ; \ exit 1; \ } ` } if ( $RETURNCODE == 0 ) { log "Already sent vacation message to $MATCH\n" exit } log "Vacation message to $MATCH:" to "| (cat - ; echo ''; cat vacation.msg) | $SENDMAIL -t" } else { log "Normal mail delivery for $LOGNAME:" to "$DEFAULT" }