From: John Horne Date: 20 May 1999 The following configuration file entries can be used to provide a 'vacation'- style function for a mailhub which has no local users. (In our case the mail is sent from the mailhub to users on file servers.) The procedure is that the user's local part is added to a lookup file. A directory is then created for the user to store a log file and a list of sites which have received a reply already (this avoids a sender receiving numerous vacation messages). When a message for a vacation user is received a director lookups up the users local part address. If found then a transport is invoked which sends either a user supplied message or a default message back to the sender. The default message is held in '/usr/local/exim/messages/vacation'; it simply states that the user is away (word this to your own needs!). When the user returns to your site simply remove them from the lookup file, and delete the directory created for them. Note: The following changes were provided by Richard Gilbert of the University of Sheffield (R.Gilbert@sheffield.ac.uk) - The file lookup could be a simple text file: local_parts = lsearch;/usr/local/exim/vacation-users The lookup file may not be necessary since the 'require_files' option is present. The condition statement could be further extended: condition = "${if \ and{{or{{match{$header_to:}{(?i)${local_part}@shef(field)?\\.ac\\.uk}} \ {match{$header_cc:}{(?i)${local_part}@shef(field)?\\.ac\\.uk}}}} \ {!eq{$sender_address}{}} \ {!match{$message_precedence}{(?i)bulk|junk|list}}}{yes}{no}}" The following exceptions could be included: except_senders = "^.*-request@:^owner-:^postmaster@:^.*daemon@:\ ^.*server@:^root@:^${local_part}@shef(field)?\\.ac\\.uk" --------------------------------------------------------------------- The director and transport entries to use are: Add to the transport section: vacation_user: driver = autoreply; subject = "${if def:h_Subject: {Re: $h_Subject:} {I am on vacation}}" file = "${if exists {/usr/local/exim/vacation/$local_part/msg} \ {/usr/local/exim/vacation/$local_part/msg} \ {/usr/local/exim/messages/vacation}}" log = /usr/local/exim/vacation/${local_part}/log once = /usr/local/exim/vacation/${local_part}/once to = $reply_address from = $local_part user = exim Add to the top of the director section: vacation: unseen no_expn no_verify condition = "${if or {{match {$h_precedence:} {(?i)junk|bulk|list}} \ {eq {$sender_address} {}}} {no} {yes}}" local_parts = cdb;/usr/local/exim/tables/vacation-users.cdb require_files = /usr/local/exim/tables/vacation/$local_part/ transport = vacation_user driver = smartuser; errors_to = postmaster@plymouth.ac.uk