Re: vpopmail bouncing problems
2002-12-04 22:15:10
An example:
In ~/.qmail:
|preline /usr/bin/procmail
|/var/qmail/bin/bouncesaying 'Sorry, go away'
And, as a simple example, in ~/.procmailrc, (or
/etc/procmailrc):
DEFAULT="nbari"
LOGFILE="${HOME}/PROCMAIL.LOG"
VERBOSE="on"
LOGABSTRACT="all"
#
EXITCODE=99
#
:0
* ^from:[ ]+(_dot_)*conover(_at_)rahul\(_dot_)net
conover
#
:0
* ^sender:[
]+(.*[^-0-9a-z._+=?*])*procmail-admin(_at_)lists\(_dot_)rwth-aachen\(_dot_)de
procmail
#
:0
* ^from:[ ]+(_dot_)someone(_at_)you-dontlike\(_dot_)com
{
#
# Mail from someone(_at_)you-dontlike(_dot_)com gets bounced with
# the message "Sorry, go away" to the envelope from
# address.
#
EXITCODE=0
#
:0
/dev/null
}
#
# Any remaining e-mail will be filed in the nbari file.
#
Note that you can not test the script as:
procmail ~/.procmailrc < testemail
where testemail is a test email message file. You have to:
qmail-inject -fsender nbari < testemail
where sender is the same address as in the 'From conover(_at_)rahul(_dot_)net
Wed
Dec 12 ...' first line header.
John
John Conover writes:
The EXITCODE=99 goes at the top of the file, before any delivery-its
the default procmail exit back to ~/.qmail file, and stops qmail-local
from executing the rest of the ~/.qmail file, (i.e., bouncesaying.) To
qmail-local, it means the message was delivered by piping it to
preline procmail, quit.
Everything exits with EXITCODE=99, unless there is an exception.
Use EXITCODE=0 just prior to any exception; all messages have to be
handled in the procmail script, so its something like:
EXITCODE=0
:0
/dev/null
which will handle the message by dumping it in /dev/null, in procmail,
and tells qmail-local that the message was not delivered, continue
executing the lines in ~/.qmail, (i.e., bouncesaying pipe will then
bounce the message.)
John
BTW, you should use ~/.qmail, unless you are specifically using the
dash extensions. The reason is that if I send a message to
nbari-asdf(_at_)unixmexico(_dot_)com, it will be handled by ~/.qmail-default,
even though nbari-asdf doesn't exist. If you use ~/.qmail, then it
won't get that far; qmail will bounce the message, immediately,
because there are no dash extensions handled by the account nbari.
If you do use extensions, identify them specifically; ~/qmail-john,
~/qmail-fred, etc.
nbari(_at_)unixmexico(_dot_)com writes:
ok on my .qmail-default i have
|preline /usr/local/bin/procmail -p -m /etc/procmailrc
|/var/qmail/bin/bouncesaying 'Whatever you want to say here'
now on my /etc/procmialrc
i have
INCLUDERC=/usr/local/squirrelmail/plugins/block_sender/sqblock.rc
:0w
|/usr/local/vpopmail/bin/vdelivermail '' bounce-no-mailbox
and here i should put the exitcode=99 ?
sorry but i dont undertand the part of the .procmailrc file
can you showme an example
thanks.
With qmail, you might try, in ~/.qmail:
|preline /usr/bin/procmail
|/var/qmail/bin/bouncesaying 'Whatever you want to say here'
and then in ~/.procmailrc
#
# default exitcode=99 if the procmailrc script delivers the
# message; exitcode=0, (yes, that is correct; 99 is the normal #
exit, 0 is the exception handling,)
#
EXITCODE=99
.
.
.
:0
* this
* and
* that
this-and-that file
.
.
.
:0
* an
* exception
{
#
# exception handling ...
#
EXITCODE=0
/dev/null
}
where the last conditional will bounce the message back to the
sender's envelope address, with the error message "Whatever you want to
say here".
John
BTW, the reason you want to do it this way is that qmail-local, (the
qmail delivery agent,) has a lot of very useful variables set in the
environment, (such as all the envelope variables-which may not be the
same as what's in the message header-which can be
changed/manipulated,) and qmail-local invokes ~/.qmail, but not
procmail, (preline does that.)
At any rate, as per man qmail-local, the recommended way of doing it is
to run bouncesaying(1) out of ~/.qmail.
Also, see man qmail-control for the exit codes.
nbari(_at_)unixmexico(_dot_)com writes:
when puting
|bouncesaying "whatever you want here."
Instead of putting EXITCODE=100
i get this :
procmail: Skipped "|/var/qmail/bin/bouncesaying "This address no
longer accepts mail." "
--
John Conover, conover(_at_)rahul(_dot_)net, http://www.rahul.net/~conover
_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail
|
|