Manual browser: vacation(1)

VACATION(1) General Commands Manual VACATION(1)


vacationreturn “I am not here” indication


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


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.
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.
Initialize the vacation database files. It should be used before you modify your .forward file.
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 

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

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


database file
message to send


The vacation command appeared in 4.3BSD.


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.
March 24, 2013 NetBSD 7.0