---
name: "vacation"
section: "1"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/vacation"
---

# vacation(1)

provide absence notification when receiving email

## NAME

**vacation** – provide absence notification when receiving email

## SYNOPSIS

**vacation** **-i** \[**-r** *interval*\]

**vacation** \[**-a** *alias*\] *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”.

The options are as follows:

- **-a** *alias*

  Handle messages for *alias* in the same manner as those received for the user's login name.

- **-i**

  Initialize the vacation database files. It should be used before you modify your *.forward* file.

- **-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.

Messages will not be replied to if any of the following conditions are true:

- Message are not “To:” or “Cc:” a valid *login* (or *alias* supplied using the **-a** option).

- Messages are from “???-REQUEST”, “Postmaster”, “UUCP”, “MAILER”, or “MAILER-DAEMON” (where these strings are case insensitive).

- A “Precedence: bulk”, “Precedence: list”, or “Precedence: junk” line is included in the mail headers.

- An “Auto-Submitted” line is included in the mail headers with a value of anything but “no”.

- A “List-Id” line (with any value) is included in the mail headers.

The people who have sent you messages are maintained as a Berkeley DB 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). 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 subject of the message that triggered the **vacation** program.

**vacation** reads the incoming message from standard input, checking the message headers for either the UNIX “From” line or a “Return-Path” header to determine the sender. If both are present, the sender from the “Return-Path” header is used.

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)](/syslog/3.md).

## FILES

- *~/.vacation.db*

  database file

- *~/.vacation.msg*

  message to send

## SEE ALSO

[dbopen(3)](/dbopen/3.md), [syslog(3)](/syslog/3.md), [smtpd(8)](/smtpd/8.md)

## HISTORY

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