I'm currently trying to set up an xfilter, but not sure how to get
maildrop to do what I want with it.
Basically, I'm receiving an email from a customer containing some info
to schedule an order. I then send it to an xfilter, which parses the
message content to verify validity, post the data to a URL (mail server
doesn't have direct access to the DB), and then return success or error.
A successful entry should set EXITCODE=99, other error codes are also
passed back via $RETURNCODE. My problem is that I'd like to be able to
print messages back to the user.. So if there is a permanent failure
(like the message coming from an unlisted IP address, or a data-format
error) I can tell the sender exactly what went wrong, but maildrop seems
to freak out of my xfilter returns nonzero (and/or prints to STDERR, I'm
not sure which, since the STDERR does show up in the maillog)
Other errors (like the web/db server being down) would return a temorary
failure and requeue the message.
Is there a way to do something like this? I was trying to keep as much
as possible in my script (just to keep the mailfilter file somewhat
clean), though I guess I can just change my return codes to something
custom, and handle them in the mailfilter file (as long as it won't
freak out for a nonzero returncode). I don't actually need xfilter (I
don't want to modify the message), but it was the only way I could
clearly see that would get the message content (headers and body) into
my script.