CSL: Vacation program

The Unix vacation program can be used as an e-mail answering machine. This is useful when you will be away from the department and will not be answering e-mail - but you don't want people to think you're ignoring them or missed their e-mail.

When you have the vacation program enabled, then when someone sends you an e-mail message, they will get a response containing your precomposed outgoing message. You will also receive the e-mail as usual.

Please note that the vacation program was changed! The old, stock Solaris program responded indiscriminatly to all e-mail, including spam. This was causing a lot of problems. We've replaced vacation with a new program by the same name which does not reply to most spam.

Turning it on:

Also see Additional on, off, ... below.

Turning it off:

Remember to deactivate the vacation program when you return!

That's all you have to do!

If you have any questions please contact the Lab Staff.

(And don't forget to see Additional on, off, ... below!)

Additional on, off, checking, pre-scheduling ...

The vacation program also has a few command line modes that you can invoke for more streamlined usage. For instance, “vacation check” will attempt to determine if your files are set up correctly, and will tell you if vacation is turned on or off. “vacation on” and “vacation off” can be used to just turn vacation on or off; no other checks or message editing are performed. “vacation edit” can be used to just edit your vacation auto-reply message.

Another option is to pre-schedule when your vacation message will be turned on and when it will be turned off. If you're skilled with the Unix at command, you can figure this out, and “vacation on” and “vacation off” will behave appropriately in this context.

New! If you're less sophisticated in this regard, there's still an easy way to pre-schedule turning your vacation message on and off, for example:

	> vacation-on-at 4pm tomorrow
	> vacation-off-at 8am august 15

vacation-on-at and vacation-off-at are front-ends to vacation that utilize the Unix at facility to run commands at some time in the future. All you need to do is provide the time and date (in that order). Most familiar formats for these are recognized, and if you make a mistake, it will tell you. So, for example, for the time, “3am”, “10:30pm”, “noon”, “midnight”, and “2000” will all work. For the date, any month day such as “April 2” and “oct 31” will work along with “today”, “tomorrow”, “Sunday”, “tue”, etc.

By using vacation-on-at and vacation-off-at, you can schedule these when convenient to you before your time away, rather than having to remember to run vacation just before leaving, and again when you get back. Be sure to run these from a Unix or Linux host that will be on at the appropriate times! Any of our standard login computers should work.


For those who like to look under the hood or customize, here's some additional information.

The new vacation program is a script which merely sets up files for use of a procmail-based implementation of essentially the same functionality. The files potentially affected are: .forward, .procmailrc, .procmailrc.vacation, and .vacation.msg.

You can turn vacation off via the vacation program (see above), or you can edit your .procmailrc file and comment out the INCLUDEDRC line by inserting a “#” character at the beginning. Removing the “#” will re-enable vacation, but be sure to update the text of your .vacation.msg file!

Please see the man pages for procmail, procmailrc and formail for more information.

If there are features of the legacy (old) vacation program that you cannot do without, fret not! Its functionality is also available along with spam filtering via a wrapper script. The reason we don't promote this as an equal alternative is because it does put a heavier load on the mail server (it requires that the spam analysis for each message be done twice). If you must have the old functionality, you have two options:

  1. Use a .forward file as before, with the appropriate invocation of /usr/bin/vacation. It will automatically be translated on the mail server to use a wrapper script which will first invoke SpamAssassin to score the message with your current required_score setting, and then send the message to the old vacation program only if the message is judged to be non-spam.
  2. Use a .forward file as before, but instead of /usr/bin/vacation, use /usr/cs/bin/reduced_spam_vacation. This will invoke the wrapper script with the availability of a few additional options. Please type “/usr/cs/bin/reduced_spam_vacation -h” for a usage message.

If using the legacy vacation program, you can invoke the initialization with the command “vacation.bin -I”. This must be run on Solaris; please use one of the login servers. Please do not use vacation.bin in your .forward file!

If you have any questions please contact the Lab Staff.