On Thu, 5 Oct 2000, Ben Beuchler wrote:
> I have written my own vacation program to fit in with some unusual
> configs we have here. My question is this: What other considerations
> in designing a good vacation program have I not thought of? I know
> there are all sorts of ways a poorly implemented vacation program can
> cause all sorts of nasty loops.
>
> So far the only feature I have in place to prevent that is that it keeps
> a flat text file containing the addresses to which it has already sent
> it's vacation message. Subsequent messages from the same sender are
> safely stored in the Maildir but not replied to.
>
> Any thoughts/recommendations? Should I be looking for any special
> headers or similar thoughts?
As the author of the qmail-vacation program, let me give you a run
down of features that have been requested by me and others (and most
of them are not implemented yet).
- do you want to reply if the recipient was not mentioned in To:
or Cc: headers?
- virtual domain handling
people want to be able to reply to messages for different
virtual domains/users
- better control of updating .qmail (my feeling is to remove this
from qmail-vacation completely as it is dangerous). You may also
run into duplicate delivery/reply issues. The dot-qmail man
pages summaries this quite well in the last paragraph:
To set up independent instructions, where a temporary or
permanent failure in one instruction does not affect the others,
move each instruction into a separate .qmail-ext file, and set
up a central .qmail file that forwards to all of the .qmail-exts.
Note that qmail-local can handle any number of forward lines
simultaneously.
- do not reply to bounce or double bounce messages - eg check
whether $SENDER is null or #@[]
- do you want to worry about messages that have been 'bounced' or
'forwarded'. By bounce I mean that the original From: and To:
headers remain intact, but additional Reset-From: and Resent-To:
headers (etc) have been added.
- do you reply to $SENDER, From: or Reply-To: and which has
precendence?
- do you want a default hard coded message just in case the text
file is not there.
- do you want to tailor replies for specific users:
if from mum
then
print "Hi Mum, you can reach me in Canada on +1 613 368 4398"
else
print "I'm away from my mail"
- do you want a reply only mode (useful for users who no longer live
at your site
- how do you handle very large databases of reply details. You use
a text file, if you receive a lot of mail, processing that text
file might be a performance hit. Would a dbm/cdb file be better?
These are some of the ideas I've been tossing around for the next
version of qmail-vacation, which I think I'll call qmail-reply because
I'd like it to do more than just be a vacation system.
--
Regards
Peter
----------
Peter Samuel [EMAIL PROTECTED]
http://www.e-smith.org (development) http://www.e-smith.com (corporate)
Phone: +1 613 368 4398 Fax: +1 613 564 7739
e-smith, inc. 1500-150 Metcalfe St, Ottawa, ON K2P 1P1 Canada
"If you kill all your unhappy customers, you'll only have happy ones left"