vacation - return ``I am not here'' mail indication
Initializing the database:
vacation -i [ -r interval ]
Replying to mail:
vacation [ -a alias ] userid
Vacation automatically returns a message to anyone who sends you mail.
Typically, this message informs the sender that you are not available to
read your mail.
Initializing the Database
When called with the -i flag, vacation initializes the ndbm(3B) database
files .vacation.pag and .vacation.dir in your home directory. If a
vacation database already exists, vacation will delete the old one and
create a new (empty) one. vacation uses this database to keep track of
the people to whom it has sent messages and at what times such messages
were sent. vacation requires this information to implement the reply
interval function described below.
The -r flag causes vacation to set the reply interval to interval days.
The reply interval is the time the system will wait before sending a
duplicate notification message to the same user. For example, if the
reply interval is set to 3 days, then no matter how frequently a given
user sends you mail, he will be sent a notification message at most once
every 3 days. This feature reduces unnecessary mail traffic for the
system and undue irritation for those who send you mail.
An interval of ``0'' means that a reply is sent to each message, and an
interval of ``infinite'' (actually, any non-numeric character) will never
send more than one reply.
The default interval is seven days.
Caveat: An interval of ``0'' is quite dangerous as it allows mailers to
get into ``I am on vacation'' loops.
Replying to Mail [Toc] [Back]
When called without the -i flag, vacation sends an automatic reply
message. vacation will expect to see an incoming mail message on
standard input. Once the message has been collected, vacation will send
an automatic reply to the sender of the incoming mail message provided
that all of the following are true:
1. userid (or an alias supplied using the -a option) is part of either
the ``To:'' or ``Cc:'' headers of the mail.
2. No automatic reply has been sent to the sender within the configured
interval days. (See the -i and -r flags above.)
3. The sender of the incoming message is not ``???-REQUEST'',
``Postmaster'', ``UUCP'', ``MAILER'', or ``MAILER-DAEMON'' (where case
4. No ``Precedence: bulk'' or ``Precedence: junk'' line is included in
headers of the incoming mail message.
The automatic reply message will be read from the .vacation.msg file in
the home directory associated with userid. This file should contain the
complete mail message (including headers) which will be sent back to the
sender. If it does not include a ``Subject:'' line, vacation will
construct one using the ``Subject:'' line from the incoming message.
Vacation reads the first line from the standard input for a UNIX-style
``From'' line to determine the address of the sender. sendmail(1M)
includes this ``From'' line automatically. Note that if the incoming
message contains a ``Reply-To:'' message header, vacation will send its
reply message to the address listed there instead of to the address from
the ``From'' line.
To configure vacation so that it will automatically return a message to
each person who sends you mail, you will need to take the following
1. Create a .vacation.msg file in your home directory containing the
message that you want vacation to return to each sender. It should be
a complete message (including headers). If your name was ``John
Brown,'' your userid was ``john'' and your host name was
``mymachine.company.com'', you might create a .vacation.msg file
From: firstname.lastname@example.org (John Brown)
I am on vacation until Aug. 1st. In my absence, please refer
all urgent business to Jane Smith. Her e-mail address is
-- John Brown
2. Initialize the vacation database in your home directory by invoking
vacation with the -i flag and, optionally, the -r flag.
3. Create a .forward file in your home directory that tells sendmail(1M)
to pass incoming mail to the vacation program. Again, if your name
was ``John Brown'' and your userid was ``john,'' your .forward file
\john, "|/usr/sbin/vacation john"
This will cause sendmail(1M) to send one copy of the incoming message
to your regular mailbox (so you can read it when you get back) and one
copy of the message to the vacation program. Note that the vacation
program is called such that it will reply to any messages for
Fatal errors, such as calling vacation with incorrect arguments, or with
non-existent userids, are logged in the system log file, using
~/.vacation.dir database file
~/.vacation.msg message to send
~/.vacation.pag database file
ndbm(3B), sendmail(1M), syslog(3B).
PPPPaaaaggggeeee 3333 [ Back ]