Hi guys,
I have been playing with maildrop since a few days ago writing some
filter rules to put my messages in different folders based on different
conditions. It all works very well and I am impressed with how powerful
maildrop can be, I can pretty much write a program using it.
However, there is one thing that I haven't been able to figure out yet.
I also saw many posts on the list's archive from people asking similar
things, but no-one had quite the same thing in mind...
My setup is qmail/vpopmail/maildrop - the latter is called from a .qmail
file in the in the vpopmail user's "home" directory. So I can activate
or deactivate it on a per users basis just by creating the .qmail.
My question is, if after doing all the patter matching and deciding what
to do with the message maildrop realises that it can't deliver to the
maildir because the quota is over. Then it exits with 77 (as the
documentations says) and so vdelivermail passes the failure back to
qmail and so on and the message is bounced back to the sender with
whatever output error given by maildrop. In this case the message "quota
is over".
The problem is, a lot of these messages that are bounced because of
quota are actually spam and could have been dropped instead and also the
error message that is bounced back to the sender is not descriptive
enough for many non-technical and/or non-english speaking people.
Is there any way to write a statement in the .mailfilter that catchs the
over-quota exit code or understand that the user is over quota. So I
could add more conditions based on whether the message will be delivered
or not, or even dropped if its spam score is too high.
I have been trough the documentation but there is nothing in there that
clearly shows any form of code that will allow me to "if and else" an
over-quota situation.
If anyone knows how to get this out of maildrop and can share it with me
that will be much appreciated!
Thanks
Vini