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:

  • Open a Unix login window.
  • Type vacation.
  • Read the prompts; generally you will just need to hit Enter to select the default [y].
  • vacation will create the files you need, and in some cases might modify files. Be sure to edit your outgoing message!

    Be cautious about including text like “I'll be out of town until...”, because you don't always know who will be getting this response, and they might be able to find out where you live...

  • Send yourself a test message to see if it's working the way you expect. You should get a copy of the test message you just mailed, and also a separate message with your outgoing response.

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

Turning it off:

Remember to deactivate the vacation program when you return!

  • Open a Unix login window.
  • Type vacation.
  • Read the prompts; generally you will just need to hit Enter to select the default [y].
  • Send yourself a test message to see if it's working the way you expect. You should get a copy of the test message you just mailed, but no separate message with your outgoing response.

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.

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.

Advanced:

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.

  • If you have a .forward, it will be disabled by renaming it with a process ID number appended, e.g., .forward.12345.
  • A .procmailrc file will be created if one does not already exist. This is the place where you can put all of your fancy e-mail filtering rules. If such a file does already exist, an INCLUDERC line for .procmailrc.vacation will be appended if there is not one already. In the latter case, you should verify that the appended line falls in the proper location for the flow of your directives.
  • A .procmailrc.vacation file will be created if one does not already exist. This file simply contains some procmail directives for a spam-detection-enabled simulation of the legacy (old) vacation program. Most of the same functionality and options of the old program are implemented or can be added.
  • A .vacation.msg file will be created if one does not already exist. If you already have one, please note a few changes:
    • The e-mail header lines that were included in this file for the old program are not needed, and in fact should be excluded.
    • The $SUBJECT substitution is not supported. Generally, this should not matter, since the Subject: line will automatically be generated in the typical Re: reply format.

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.