John Peacock wrote:
Bob Dodds wrote:
My question is, if both queue/qmail-queue and queue/maildir are hooking, and the first returns "OK", does that prevent the second from running, or does it run and have to be modified to make it check if the other queue hook has returned "OK"?
The first plugin for a specific hook that returns "OK" is the last plugin which fires on that hook. Literally, the "OK" means that the hook has been completed, whatever that means in that specific case. If you want both queue plugins to fire unconditionally, have the first one always return "DECLINED" (meaning this plugin isn't going to do anything here).
If you want the second queue plugin to fire only if the first one didn't process the message, send "OK" if the message has been queued to the spam folder, otherwise send "DECLINED" to permit the second queue plugin to fire.
John
Thanks, John.
queue/maildir can be my local queue/honeypot_maildir
unless ($self->{_maildir}) { ($self->{_maildir}) = "./honeypot" ;
my $note = $transaction->notes('joe_ok'); return DECLINED unless $note;
If declined, mail goes to (last|next|original|default) queue plugin.
joe_ok will have three relevent policy options, to always deny, or to rcpt OK and set the note the first time only from that IP and then deny for that IP(smart machine but not fulltime honeypot--deny telling them user does not exist), or to always rcpt OK and set the note for spam (honeypot machine--tell them user exists).
-Bob