I've got my maildrop filtering and .qmail-default setup close to how I want it, but there's some strangeness I'd like to work out still. Most annoying is that when an incoming smtp connection references an account that does not exist I get the following in my maildrop log:

------------------------------------------------------------
==== BEGIN maildrop processing for [EMAIL PROTECTED] ===
VHOME is set to
VPOP is set to | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Date: Fri Feb 18 21:58:22 2005
From: Nikki Vogt <[EMAIL PROTECTED]>
Subj: :SPAM: re[16]
!Err: | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox (5232)


=== END ===
------------------------------------------------------------

What is the !Err signifying? And is it going to the vdelivermail command on that error line as a result of $VPOP being the final exception in the mailfilter file?

How can I keep the !Err from being thrown and handle it cleanly?

Also, strangely, I *very* occasionally will get an error message like this in my qmail-send logs for a user that doesn't exist (the above message triggered one of the occasions). The distinguishing factor with these emails that I've seen so far is that they are usually to an address that is a real account on the system, only truncated (i.e., gie vs. maggie) Note, too, that I cannot recreate this intentionally, leading me to believe there is another factor involved besides the truncated account name:

------------------------------------------------------------
2005-02-18 21:58:22.241245500 starting delivery 181: msg 3063895 to local [EMAIL PROTECTED]
2005-02-18 21:58:22.241250500 status: local 1/10 remote 0/255
2005-02-18 21:58:22.285783500 delivery 181: deferral: Sorry,_no_mailbox_here_by_that_name._vpopmail_(#5.1.1)/maildrop:_error_writing_to_mailbox./
------------------------------------------------------------


The normal behavior is to show that !Err message in the maildrop logs, and then bounce the message according to $VPOP.

Finally, what could cause a log entry like this in my maildrop logs. Note the BEGIN twice in a row, and also that info doesn't exist while account does:

------------------------------------------------------------
====  BEGIN maildrop processing for [EMAIL PROTECTED] ===
====  BEGIN maildrop processing for [EMAIL PROTECTED] ===
VHOME is set to
VPOP is set to | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
Date: Fri Feb 18 22:51:23 2005
From: "elois fields" <[EMAIL PROTECTED]>
Subj: Medical Facts: Announcement
!Err: | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
------------------------------------------------------------

To recap what I'm trying to figure out:

1. Why some accoungs seem to get stuck in the queue as undeliverable on rare occasion when the account does not exist, while other nonexistent accounts bounce as expected.

2. If the !Err in my logs is avoidable, and instead I can find a way to have the logs show "File: | /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox" as it does for accounts that do exist.

3.  What might cause the double BEGIN lines in my mailfilter logs?


Here be the relevant files:

/home/vpopmail/mydomain.com/.qmail-default:
------------------------------------------------------------
| /home/vpopmail/qtrap/qtrap.sh
#| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
| maildrop mailfilter
------------------------------------------------------------


/home/vpopmail/mydomain.com/mailfilter: ------------------------------------------------------------ #VERBOSE=5 logfile "/var/log/maildrop-filter.log" log "==== BEGIN maildrop processing for [EMAIL PROTECTED] ===" import EXT import HOST SHELL="/bin/sh" VPOP="| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox" VHOME=`/home/vpopmail/bin/vuserinfo -d [EMAIL PROTECTED] log "VHOME is set to $VHOME" log "VPOP is set to $VPOP" #if ( $SIZE < 262144 ) #{ # exception { # xfilter "/usr/bin/spamc -f -u [EMAIL PROTECTED]" # } #} if (/^X-Spam-Status: *Yes/) { #try filtering it using user-defined rules exception { include $VHOME/Maildir/.mailfilter } #then try delivering it to a Spam Folder exception { # to "$VPOP" to "$VHOME/Maildir/.Junk/" } exception { to "$VPOP" } } else { exception { include $VHOME/Maildir/.mailfilter }

        exception {
                to "$VPOP"
        }
}
log "=== END ==="
exit
------------------------------------------------------------

Matt Kern

Reply via email to