---
name: "vacation.sendmail"
section: "1"
platform: "linux"
package: "sendmail-bin"
version: "8.18.1-6+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/vacation.sendmail"
---

# vacation.sendmail(1)

E-mail auto-responder

## NAME

vacation - E-mail auto-responder

## SYNOPSIS

**vacation** \[**-a** *alias*\] \[**-C** *cffile*\] \[**-d**\] \[**-f** *database*\] \[**-i**\] \[**-I**\] \[**-j**\] \[**-l**\] \[**-m** *message*\] \[**-R** *returnaddr*\] \[**-r** *interval*\] \[**-s** *address*\] \[**-t** *time*\] \[**-U**\] \[**-x**\] \[**-z**\] *login*

## DESCRIPTION

**Vacation** returns a message, *~/.vacation.msg* by default, to the sender informing them that you are currently not reading your mail. The message is only sent to each sender once per reply interval (see **-r** below). 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.

- **-C** *cfpath*

  Specify pathname of the sendmail configuration file. This option is ignored if **-U** is specified. This option defaults to the standard sendmail configuration file, located at /etc/mail/sendmail.cf on most systems.

- **-d**

  Send error/debug messages to stderr instead of syslog. Otherwise, fatal errors, such as calling **vacation** with incorrect arguments, or with non-existent *login*s, are logged in the system log file, using syslog(8). This should only be used on the command line, not in your *.forward* file.

- **-f** *filename*

  Use *filename* as name of the database instead of *~/.vacation.db* or *~/.vacation.{dir,pag}*. Unless the *filename* starts with / it is relative to ~.

- **-i**

  Initialize the vacation database files.  It should be used before you modify your *.forward* file. This should only be used on the command line, not in your *.forward* file.

- **-I**

  Same as **-i** (for backwards compatibility). This should only be used on the command line, not in your *.forward* file.

- **-j**

  Respond to the message regardless of whether the login is listed as a recipient for the message. Do not use this flag unless you are sure of the consequences. For example, this will cause *vacation* to reply to mailing list messages which may result in removing you from the list.

- **-l**

  List the content of the vacation database file including the address and the associated time of the last auto-response to that address. This should only be used on the command line, not in your *.forward* file.

- **-m** *filename*

  Use *filename* as name of the file containing the message to send instead of *~/.vacation.msg*. Unless the *filename* starts with / it is relative to ~.

- **-R** *returnaddr*

  Set the reply envelope sender address

- **-r** *interval*

  Set the reply interval to *interval* days.  The default is one week. An interval of \`\`0'' or \`\`infinite'' (actually, any non-numeric character) will never send more than one reply. The **-r** option should only be used when the vacation database is initialized (see **-i** above).

- **-s** *address*

  Use *address* instead of the incoming message sender address on the *From* line as the recipient for the vacation message.

- **-t** *time*

  Ignored, available only for compatibility with Sun's vacation program.

- **-U**

  Do not attempt to lookup *login* in the password file. The -f and -m options must be used to specify the database and message file since there is no home directory for the default settings for these options.

- **-x**

  Reads an exclusion list from stdin (one address per line). Mails coming from an address in this exclusion list won't get a reply by **vacation**. It is possible to exclude complete domains by specifying \`\`@domain'' as element of the exclusion list. This should only be used on the command line, not in your *.forward* file.

- **-z**

  Set the sender of the vacation message to \`\`\<\>'' instead of the user. This probably violates the RFCs since vacation messages are not required by a standards-track RFC to have a null reverse-path.

**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. It also scans the headers for a \`\`Return-Path:'' header to determine the sender. If both are present, the sender from the  \`\`Return-Path:'' header is used.

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'', \`\`???-RELAY'', \`\`???-OWNER'', \`\`OWNER-???'', \`\`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. Likewise, a response will not be sent if the headers contain a \`\`Auto-Submitted:'' header with any value except \`\`no'' or a \`\`List-Id:'' header is found. The people who have sent you messages are maintained as a [db(3)](/db/3.md) or [dbm(3)](/dbm/3.md) database in the file *.vacation.db* or *.vacation.{dir,pag}* 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).  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.  If you have something urgent,
  please contact Keith Bostic <bostic@CS.Berkeley.EDU>.
  --eric
  ```

Any occurrence of the string \`\`$SUBJECT'' in *.vacation.msg* will be replaced by the first line of the subject of the message that triggered the **vacation** program.

## FILES

- \~/.vacation.db

  default database file for [db(3)](/db/3.md)

- \~/.vacation.{dir,pag}

  default database file for [dbm(3)](/dbm/3.md)

- \~/.vacation.msg

  default message to send

## SEE ALSO

[sendmail(8)](/sendmail/8.md), syslog(8)

## HISTORY

The **vacation** command appeared in 4.3BSD.
