VACATION(1) | General Commands Manual | VACATION(1)

# NAME

vacation — return “I am not here” indication

# SYNOPSIS

vacation | -dIi [-f databasefile] [-m messagefile] [-r interval] [-t interval]

vacation | -dj [-a alias] [-F F|R|S] [-f databasefile] [-m messagefile] [-s sender] [-T A|D] login

# DESCRIPTION

vacation returns a message to the sender of a message telling them that you are currently not reading your mail. The intended use is in a .forward file. For example, your .forward file might have:

    \eric, "|/usr/bin/vacation -a allman eric"

which would send messages to you (assuming your login name was eric) and reply to any messages for “eric” or “allman”.

Available options:

-a alias
  Handle messages for alias in the same manner as those received for the user's login name.
-d
  Turn debugging on; don't send an actual message, but print it on stdout.
-f database_file
  Use the specified database_file prefix and append .db to it instead of $HOME/.vacation.db.
-F F|R|S
  Make vacation additionally look in From: (F), Return-Path: (R), or Sender: (S) headers to determine the From: field.
-i
-I
  Initialize the vacation database files. It should be used before you modify your .forward file.
-j
  Do not check if the recipient is present in the To: or Cc: lines. Usage of this option is strongly discouraged because it will result in vacation replying to mailing lists or other inappropriate places (e.g., messages that you have been Bcc to).
-m message_file
  Use message_file instead of $HOME/.vacation.msg.
-s sender
  Reply to sender instead of the value read from the message.
-r interval
-t interval
  Set the reply interval to interval days. If the interval number is followed by w, d, h, m, or s then the number is interpreted as weeks, days, hours, minutes, or seconds respectively. The default interval is one week. 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. It should be noted that intervals of “`0`” are quite dangerous, as it allows mailers to get into “I am on vacation” loops.
-T A|D
  Make vacation additionally look in Apparently-To: (A) or Delivered-To: (D) headers to determine the To: field.

No message will be sent unless login (or an alias supplied using the -a option) is part of either the “To:” or “Cc:” headers of the mail. No messages from “???-REQUEST”, “Postmaster”, “UUCP”, “MAILER”, or “MAILER-DAEMON” will be replied to (where these strings are case insensitive) nor is a notification sent if a “Precedence: bulk” “Precedence: list” or “Precedence: junk” line is included in the mail headers. The people who have sent you messages are maintained as a db(3) database in the file .vacation.db in your home directory.

vacation expects a file .vacation.msg, in your home directory, containing a message to be sent back to each sender. It should be an entire message (including headers). If the message contains the string $SUBJECT then it will will be replaced with the subject of the original message. For example, it might contain:

    From: eric@CS.Berkeley.EDU (Eric Allman)
    Subject: I am on vacation
    Delivered-By-The-Graces-Of: The Vacation program
    Precedence: bulk

    I am on vacation until July 22.
    Your mail regarding "$SUBJECT" will be read when I return.
    If you have something urgent, please contact Keith Bostic
    <bostic@CS.Berkeley.EDU>.
    --eric

vacation reads the first line from the standard input for a UNIX “From” line to determine the sender. sendmail(8) includes this “From” line automatically.

Fatal errors, such as calling vacation with incorrect arguments, or with non-existent login s, are logged in the system log file, using syslog(3).

# FILES

~/.vacation.db
  database file
~/.vacation.msg
  message to send

# SEE ALSO

syslog(3), sendmail(8)

# HISTORY

The vacation command appeared in 4.3BSD.

# BUGS

Adding -t A or -t D should only be done for misconfigured or non-compliant MTAs. Doing so may auto-respond to messages that were not supposed to be replied to.

August 19, 2004 | NetBSD 6.0