* Sam Varshavchik <mrs...@courier-mta.com> [2007-02-26 18:18:19 -0500]:
Fred J writes:
us...@server.tld") but I am unable to run it from within maildrop:
It's your script, only you can figure out why it breaks.
The only thing that you need to know that's not immediately obvious is that
your script must read the entire message it receives piped in on standard
input. If maildrop detects that the script terminated before it consumed
everything, it will - rightfully - conclude that the mail delivery script
failed.
Indeed. The problem was due to an "exit 0;" call before declaration of
some subroutines being called. Instead of following general
programmation rules (0libs, 1config, 2subroutines, 3rd main) I had
inversed the latter ones due to very sloppy coding and called exit
somewhere after the second part. This led to the error. mc.
I new about the reading from stdin from one of your posts long time ago
so that wasn't the problem. But thanks!
Maybe you can help with another clarification?
Is there a list of error return codes such as 99/0/..? Or are they
related to dot-courier-file:
<quote from="http://www.courier-mta.org/?dot-courier.html">
If the external command terminates with the exit code of 99, any
additional delivery instructions in the file are NOT executed, but the
message is considered to be successfully delivered.
If the external command terminates with any of the following exit codes:
64, 65, 67, 68, 69, 70, 76, 77, 78, or 112, the E-mail message will be
returned as undeliverable, and no further delivery instructions will
take place.
If the external command terminates with any other exit code, it is
interpreted as a temporary error, and the message will be requeued for
another delivery attempt later.
</quote>
Can I return any other error code (1-63?) without undeliverable status
or requeuing taking place? If i read the courier-dot right, this can
only work if i can somehow influence the action ensuing EX_TEMPFAIL
(meaning: no requeing for late delivery).
Regards & thanks again,
Fred