Skip to Content

Vacation Message Setup

The introduction of server-side spam filtering has changed the way in which vacation message setup is performed. While it is not at all difficult, it does require one to log into the departmental server, run one command and edit two files.

If you are not familiar with how to access the departmental server, please check out the Physics IT Essentials documentation section.

Online Form

The simplest method to set up your vacation message is to access the online form at:

https://vacation.physics.utoronto.ca/

Follow the instructions presented there.

Overview Command Line

Setting up your vacation message consists of three steps:

  1. initialize the sender address database
  2. compose your vacation message
  3. tell the mail filter that you are on vacation

Quick steps

  1. Delete $HOME/.vacation.cache if it exists
  2. Update .vacation.msg
  3. Set VACATION=“yes” in your procmail

Initializing the Vacation Database

The vacation program does not reply to every sender with every message. When someone sends you an email, the vacation program replies to the first message from a given sender and then saves that address in a small database. Further messages from that address are ignored for a configurable amount of time which defaults to one week.

To initialize the database, do the following:

# if $HOME/.vacation.cache exists
rm $HOME/.vacation.cache

The Two Important Files

The message containing the vacation message is called .vacation.msg and the file containing your personal filtering rules is called .procmailrc. Both of these files must be present and correctly set if you are using both spam filtering and the vacation auto-reply.

Because both filenames start with a dot ("."); they are invisible files, not shown by a normal file listing. However if they are explicitly named they will be shown.

.vacation.msg Contains the actual vacation message. .procmailr contains rules for filtering email.

.vacation.msg

Open this file with an editor and add text similar to the following:

Subject: On vacation (was: $SUBJECT)

Hello,

I am currently away from the office and will not be reading email
during the period July 6, 2004 to July 21, 2004. If your message
is urgent, please contact Mr. Foo Bar <foobar@physics.utoronto.ca>.

Regards,
Quux the Magnificent

Be sure that there are no blank lines above the Subject: line.

.procmailrc

Because we have many generations of procmail configurations deployed, it is impossible to give comprehensive instructions here. So, we will concentrate on the version that most newer users will have.

The .procmailrc file is no longer a file that a normal user can edit. It is a symbolic link to a file that can only be edited by the administrative users. Instead, users control the procmail filter via three files contained in the .procmail folder of their home directory.

The three files are:

  1. user-vars
  2. prefilter-rules
  3. postfilter-rules

and they contain, respectively: user variables, rules that are applied before spam filtering, and rules that are applied after spam filtering.

To activate the vacation message, open $HOME/.procmail/user-vars with the editor of your choice, seek out the line

VACATION="no"

and change it to

VACATION="yes"

If .procmailrc is an actual file that you can edit, then you have an older setup and the following rules may apply.

The beginning of .procmailrc will typically look something like the following code segment.

# .procmailrc
#
# This file contains procmail filtering recipes. See procmail(1), procmailrc(5)
# for details.

PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/mail
LOGFILE=/dev/null
VERBOSE=off
FORMAIL=/usr/bin/formail
VACATION="no"

Use an editor to open .procmailrc and edit the VACATION line to read:

VACATION="yes"

If there is no VACATION line, create it.

The value of vacation is case-sensitive. Please use "yes" or "no", not "YES" or "Yes", etc. .

Some Special Considerations

If you are receiving your email via any aliases or re-written addresses (eg. you have requested that your address appear externally as John.Blogs@physics.utoronto.ca instead of jblogs@physics.utoronto.ca), then you may need to invoke vacation with an additional argument in .procmailrc.

The standard code

:0 wc
* VACATION ?? yes
|/usr/bin/vacation $LOGNAME

needs to replaced with

:0 wc
* VACATION ?? yes
|/usr/bin/vacation -a myalias $LOGNAME

Please contact PCS for assistance if you are in this situation, because it will require additional tailoring that most system users will be unable to handle themselves.