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"

Reply via email to