14 messages in net.sourceforge.lists.courier-maildropRe: [maildropl] filters only work som...
FromSent OnAttachments
Robert StoeberFeb 25, 2003 10:19 am 
Devin RubiaFeb 25, 2003 12:23 pm 
Robert StoeberFeb 25, 2003 4:02 pm 
Devin RubiaFeb 26, 2003 5:20 am 
Robert StoeberFeb 26, 2003 12:18 pm 
Devin RubiaFeb 26, 2003 12:43 pm 
Robert StoeberFeb 26, 2003 2:23 pm 
Devin RubiaFeb 27, 2003 6:27 am 
Robert StoeberFeb 28, 2003 9:36 am 
Devin RubiaFeb 28, 2003 10:24 am 
Sam VarshavchikFeb 28, 2003 2:28 pm 
Robert StoeberFeb 28, 2003 3:54 pm 
Robert StoeberFeb 28, 2003 5:54 pm 
Sam VarshavchikFeb 28, 2003 7:18 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] filters only work sometimes?Actions...
From:Devin Rubia (dev@thezone.net)
Date:Feb 26, 2003 5:20:50 am
List:net.sourceforge.lists.courier-maildrop

On Tue, Feb 25, 2003 at 03:36:05PM -0700, Robert Stoeber wrote:

At 01:22 PM 2/25/2003, you wrote:

I'm just wondering why you go through the trouble of calling vdelivermail with delete. Why not just change your rule to:

if ( /jsmith/:h ) { log "Rule 1: $MATCH" exit }

Devin,

Ahh, that's a really good question. I only tried the vdelivermail/delete method because just using exit didn't work and I'm desperate for a solution.

Here's what happens. I just cleared everything out of the queue and then set the following maildrop filter as you suggest:

if ( /smith/:h ) { exit }

As far as I know this should make all messages with 'smith' in the header disappear. But, after just a few minutes of watching the logs here's what I have:

messages in queue: 1 messages in queue but not yet preprocessed: 0 25 Feb 2003 21:43:02 GMT #16229 4406 <aart@maktoob.com> local usab@usabusiness.net

I assume this means the message is queued pending delivery to the local user. But there is no such user and there won't be so I get a lot of these piling up.

Now here's the log from /var/log/qmail/current

2003-02-25 14:43:02.496444500 new msg 16229 2003-02-25 14:43:02.496550500 info msg 16229: bytes 4406 from <aart@maktoob.com> qp 21468 uid 508 2003-02-25 14:43:02.558024500 starting delivery 8: msg 16229 to local usab@usabusiness.net 2003-02-25 14:43:02.558033500 status: local 1/10 remote 0/20 2003-02-25 14:43:31.061060500 delivery 8: deferral: Sorry,_no_mailbox_here_by_that_name._vpopmail_(#5.1.1)/maildrop:_error_writing_to_mailbox./ 2003-02-25 14:43:31.061078500 status: local 0/10 remote 0/20

So why/how is this delivery even being attempted?

Hope you have an answer.

Yes, there is an answer. Maildrop does not consider a "no user" error to be fatal and will defer the message. Sam's position on this seems to be that the MTA should not be passing mail for invalid users on to the local delivery agent, however, this is not an option for some of us.

There are probably a couple of ways around this.

You could try setting your exit code manually:

if ( /smith/:h ) { EXITCODE=0 exit }

Optionally, you could patch maildrop to throw an EX_NOUSER exit code instead of an EX_TEMPFAIL when any invalid user is specified. There should be a patch somewhere in the mailing list archives. Let me know if you can't find it and I will do a diff against my sources to get it for you.