.\"	$NetBSD: vacation.1,v 1.32.2.1 2023/06/27 18:12:09 martin Exp $
.\"
.\" Copyright (c) 1985, 1987, 1990, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"	@(#)vacation.1	8.2 (Berkeley) 4/28/95
.\"
.Dd May 6, 2019
.Dt VACATION 1
.Os
.Sh NAME
.Nm vacation
.Nd return
.Dq I am not here
indication
.Sh SYNOPSIS
.Nm
.Fl dIi
.Op Fl f Ar databasefile
.Op Fl m Ar messagefile
.Op Fl r Ar interval
.Op Fl t Ar interval
.Nm
.Fl dj
.Op Fl a Ar alias
.Op Fl F Ar F|R|S
.Op Fl f Ar databasefile
.Op Fl m Ar messagefile
.Op Fl s Ar sender
.Op Fl T Ar A|D
.Ar login
.Sh DESCRIPTION
.Nm
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
.Pa .forward
file.
For example, your
.Pa .forward
file might have:
.Bd -literal -offset indent
\eeric, "|/usr/bin/vacation -a allman eric"
.Ed
which would send messages to you (assuming your login name was eric) and
reply to any messages for
.Dq eric
or
.Dq allman .
.Pp
Available options:
.Bl -tag -width Ds
.It Fl a Ar alias
Handle messages for
.Ar alias
in the same manner as those received for the user's
login name.
.It Fl d
Turn debugging on; don't send an actual message, but print it on stdout.
.It Fl f Ar database_file
Use the specified
.Ar database_file
prefix and append
.Dv \.db
to it instead of
.Dv $HOME/.vacation.db .
.It Fl F Ar F|R|S
Make
.Nm
additionally look in From: (F), Return-Path: (R), or Sender: (S) headers
to determine the From: field.
.It Fl i
.It Fl I
Initialize the vacation database files.
It should be used before you modify your
.Pa .forward
file.
.It Fl j
Do not check if the recipient is present in the
.Dv To:
or
.Dv Cc:
lines.
Usage of this option is strongly discouraged because it will result in
.Nm
replying to mailing lists or other inappropriate places (e.g., messages that
you have been
.Dv Bcc
to).
.It Fl m Ar message_file
Use
.Ar message_file
instead of
.Dv $HOME/.vacation.msg .
.It Fl s Ar sender
Reply to
.Ar sender
instead of the value read from the message.
.It Fl r Ar interval
.It Fl t Ar interval
Set the reply interval to
.Ar interval
days.
If the
.Ar interval
number is followed by
.Dv w ,
.Dv d ,
.Dv h ,
.Dv m ,
or
.Dv s
then the number is interpreted as weeks, days, hours, minutes, or seconds
respectively.
The default
.Ar interval
is one week.
An
.Ar interval
of
.Dq 0
means that
a reply is sent to each message, and an interval of
.Dq Li infinite
(actually, any non-numeric character) will never send more than
one reply.
It should be noted that intervals of
.Dq Li \&0
are quite
dangerous, as it allows mailers to get into
.Dq I am on vacation
loops.
.It Fl T Ar A|D
Make
.Nm
additionally look in Apparently-To: (A) or Delivered-To: (D) headers
to determine the To: field.
.El
.Pp
No message will be sent unless
.Ar login
(or an
.Ar alias
supplied using the
.Fl a
option) is part of either the
.Dq To:
or
.Dq Cc:
headers of the mail.
.Pp
No messages from
.Dq ???-REQUEST ,
.Dq Postmaster ,
.Dq Tn UUCP ,
.Dq MAILER ,
or
.Dq MAILER-DAEMON
will be replied to (where these strings are
case insensitive).
.Pp
No notification is sent if a
.Dq Precedence: bulk
.Dq Precedence: list
.Dq Precedence: junk
line or an
.Dq Auto-Submitted:
line with any qualifier except
.Dq no
are included in the mail headers.
.Nm
will include these headers in its response to avoid auto-responder loops.
.Pp
The people who have sent you messages are maintained as a
.Xr db 3
database in the file
.Pa .vacation.db
in your home directory.
.Pp
.Nm
expects a file
.Pa .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
.Dv $SUBJECT
then it will will be replaced with the subject of the original message.
For example, it might contain:
.Pp
.Bd -literal -offset indent -compact
From: eric@CS.Berkeley.EDU (Eric Allman)
Subject: I am on vacation
Delivered-By-The-Graces-Of: The Vacation program

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
.Ed
.Pp
.Nm
reads the first line from the standard input for a
.Ux
.Dq From
line to determine the sender.
.Xr sendmail 1
includes this
.Dq From
line automatically.
.Pp
Fatal errors, such as calling
.Nm
with incorrect arguments, or with non-existent
.Ar login Ns Ar s ,
are logged in the system log file, using
.Xr syslog 3 .
.Sh FILES
.Bl -tag -width "vacation.dirxxx" -compact
.It Pa ~/.vacation.db
database file
.It Pa ~/.vacation.msg
message to send
.El
.Sh SEE ALSO
.Xr sendmail 1 ,
.Xr syslog 3
.Pp
RFC 2076 ,
RFC 3834
.Sh HISTORY
The
.Nm
command appeared in
.Bx 4.3 .
.Sh BUGS
Adding
.Fl T Ar A
or
.Fl T Ar 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.