xref: /illumos-gate/usr/src/man/man1/vacation.1 (revision 1fa2a66491e7d8ae0be84e7da4da8e812480c710)
te
Copyright (c) 2005, Sun Microsystems, Inc. All Rights Reserved
Copyright 1989 AT&T
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
VACATION 1 "November 22, 2021"
NAME
vacation - reply to mail automatically
SYNOPSIS
vacation [-I]

vacation [-a alias] [-e filter_file] [-f database_file]
 [-j] [-m message_file] [-s sender] [-tN] username

vacation [-f database_file] -l
DESCRIPTION
The vacation utility automatically replies to incoming mail.
"Installation"
The installation consists of an interactive program which sets up vacation's basic configuration.

To install vacation, type it with no arguments on the command line. The program creates a .vacation.msg file, which contains the message that is automatically sent to all senders when vacation is enabled, and starts an editor for you to modify the message. (See USAGE section.) Which editor is invoked is determined by the VISUAL or EDITOR environment variable, or vi(1) if neither of those environment variables are set.

A .forward file is also created if one does not exist in your home directory. Once created, the .forward file will contain a line of the form:

One copy of an incoming message is sent to the username and another copy is piped into vacation:

\eusername, "|/usr/bin/vacation username"

If a .forward file is present in your home directory, it will ask whether you want to remove it, which disables vacation and ends the installation.

The program automatically creates .vacation.pag and .vacation.dir, which contain a list of senders when vacation is enabled.

"Activation and Deactivation"
The presence of the .forward file determines whether or not vacation is disabled or enabled. To disable vacation, remove the .forward file, or move it to a new name.
"Initialization"
The -I option clears the vacation log files, .vacation.pag and .vacation.dir, erasing the list of senders from a previous vacation session. (See OPTIONS section.)
"Additional Configuration"
vacation provides configuration options that are not part of the installation, these being -a, -e, -f, -j, -m, -s, and -t. (See OPTIONS section.)
"Reporting"
vacation provides a reporting option, -l. See OPTIONS.
OPTIONS
The following options are supported: -I

Initializes the .vacation.pag and .vacation.dir files and enables vacation. If the -I flag is not specified, and a user argument is given, vacation reads the first line from the standard input (for a From: line, no colon). If absent, it produces an error message.

Options -a, -e, -f, -j, -m, -s, and -t are configuration options to be used in conjunction with vacation in the .forward file, not on the command line. For example,

\eusername, "|/usr/bin/vacation -t1m username"

repeats replies to the sender every minute. -a alias

Indicates that alias is one of the valid aliases for the user running vacation, so that mail addressed to that alias generates a reply.

-e filter_file

Uses filter_file instead of .vacation.filter as the source of the domain and email address filters.

-f database_file

Uses database_file instead of .vacation as the base name for the database file.

-j

Does not check whether the recipient appears in the To: or the Cc: line. Warning: use of this option can result in vacation replies being sent to mailing lists and other inappropriate places; its use is therefore strongly discouraged.

-m message_file

Uses ~/message_file as the message to send for the reply instead of ~/.vacation.msg. message_file is a relative path to the desired vacation message file. To prevent directory/file "not found" errors, message_file should be on the same disk partition as ~/.forward.

-s sender

Replies to sender instead of the value read from the UNIX From line of the incoming message.

-tN

Changes the interval between repeat replies to the same sender. The default is 1 week. A trailing s, m, h, d, or w scales N to seconds, minutes, hours, days, or weeks, respectively.

The -l option is neither for initialization nor configuration, but for reporting. The -f option can also be used in conjunction with -l. -l

Lists the addresses to which a reply has been sent since the last invocation of vacation -I, along with a date and time stamp.

USAGE
.vacation.msg should include a header with at least a Subject: line (it should not include a To: line). For example:
Subject: I am on vacation
I am on vacation until July 22. If you have something urgent,
please contact Joe Jones (jones@fB0).
 --John

If the string $SUBJECT appears in the .vacation.msg file, it is replaced with the subject of the original message when the reply is sent. Thus, a .vacation.msg file such as

Subject: I am on vacation
I am on vacation until July 22.
Your mail regarding "$SUBJECT" will be read when I return.
If you have something urgent, please contact
Joe Jones (jones@fB0).
 --John

will include the subject of the message in the reply.

No message is sent if the To: or the Cc: line does not list the user to whom the original message was sent or one of a number of aliases for them, if the initial From line includes the string -REQUEST@, or if a Precedence: bulk or Precedence: junk line is included in the header.

vacation will also not respond to mail from either postmaster or Mailer-Daemon.

In addition to the above criteria, if a .vacation.filter file exists, it is used to constrain further the set of addresses to which a reply is sent. Each line in that file should be either a domain name, an email address, a negated domain name or a negated email address. A negated line starts with the single character !.

Each line is compared in the order listed to the sender address. A line containing an email address matches if the sender address is exactly the same except for case, which is ignored. A line containing a domain name matches if the sender address is something@domain-name or something@something.domain-name. A reply is sent if the first match is an entry that is not negated. If the first match is a negated entry, or if no lines match, then no reply is sent.

A sample filter file might look like the following:

!host.subdomain.example.com
example.com
!wife@example.org
example.org
onefriend@example.net
anotherfriend@example.net

Blank lines and lines starting with "#" are ignored.

FILES
~/.forward

~/.vacation.filter

~/.vacation.msg

A list of senders is kept in the dbm format files .vacation.pag and .vacation.dir in your home directory. These files are dbm files and cannot be viewed directly with text editors.

SEE ALSO
vi(1), sendmail(1M), getusershell(3C), aliases(4), shells(4), attributes(5)