VACATION(1)

๐Ÿ“ฆ
version 3.3.3build3 ยท 4 versions
, in debian bookworm, debian trixie, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

โœจ VACATION(1) โœจ

okay bestie, welcome to the General Commands Manual, section 1 โ€” this is the page for vacation, the lil program that tells everyone you're not here ๐Ÿ’…


NAME ๐ŸŽ€

vacation โ€” return โ€œI am not hereโ€ indication


SYNOPSIS ๐Ÿฆ‹

vacation -i [-r interval]
vacation -l
vacation -x
vacation [-a alias] [-c ccaddr] [-d] [-f db] [-m msg] [-j] [-z] login

DESCRIPTION ๐Ÿ’–

so vacation sends a message back to whoever mailed you, being like โ€œhey bestie, I'm not reading my mail rnโ€ ๐Ÿ˜ญ. the whole point is to use it inside a .forward file. like, your .forward could literally look like this:

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

which sends messages to you (assuming your login name is eric) and auto-replies to anything addressed to โ€œericโ€ or โ€œallmanโ€. iconic, no cap โœจ

Options available (yes, all of them, we're not skipping a single one):

  • -a alias โ€” treat messages for alias exactly the same way you'd treat messages for the user's login name. and yes, you can stack -a alias multiple times ๐Ÿซถ
  • -c ccaddr โ€” copy the vacation messages to ccaddr.
  • -d โ€” print messages to stderr instead of syslog.
  • -f db โ€” uses db as the database file.
  • -m msg โ€” uses msg as the message file.
  • -j โ€” reply to the message even if our address can't be found in the โ€œTo:โ€ or โ€œCc:โ€ headers. > this option is very dangerous and should be used with extreme care. like, genuinely, be so careful ๐Ÿ’€
  • -z โ€” set the envelope sender of the reply message to โ€œ<>โ€.
  • -i โ€” initialize the vacation database files. you wanna run this before you go messing with your .forward file, fr fr.
  • -r โ€” set the reply interval to interval days. default is one week. an interval of โ€œ0โ€ means a reply gets sent to every single message, and an interval of โ€œinfiniteโ€ (actually, any non-numeric character) will never send more than one reply. > heads up: intervals of โ€œ0โ€ are quite dangerous, because it lets mailers get into โ€œI am on vacationโ€ loops ๐Ÿ˜ญ๐Ÿ”„
  • -x โ€” reads a list of addresses from standard input, one per line, and adds them to the vacation database. mail coming from these excluded addresses won't get a reply. whole domains can be excluded using the syntax โ€œ@domainโ€ ๐ŸŒˆ
  • -l โ€” print the contents of the vacation database files. for each entry, the address the reply has been sent to and the associated time get printed to standard output. so satisfying to look at ngl ๐Ÿ‘‘

if you run vacation with no arguments at all, it'll guide the user through the configuration process. it's giving hand-holding in the best way ๐Ÿ’œ


okay now the big important vibes, listen up:

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. and 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โ€, โ€œPrecedence: junkโ€, โ€œX-Spam-Flag: yesโ€ or โ€œAuto-submitted: (something other than no)โ€ 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. bestie database ๐ŸŽ€

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. cute lil template variable, love that for us โœจ

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. Sendmail(8) includes this โ€œFromโ€ line automatically. so you don't gotta do it yourself, slay ๐Ÿฆ‹

fatal errors โ€” like calling vacation with incorrect arguments, or with non-existent logins โ€” are logged on the standard error output and in the system log file, using syslog(3). it's telling everyone when things go wrong ๐Ÿ˜ญ


DIAGNOSTICS ๐Ÿ“

the vacation utility exits 0 on success, and >0 if an error occurs. zero means we ate, anything above means we did not ๐Ÿ’…


FILES ๐ŸŒธ

  • ~/.vacation.db โ€” database file
  • ~/.vacation.msg โ€” message to send
  • ~/.forward

SEE ALSO ๐Ÿงš

aliases(5), sendmail(8), syslogd(8)


HISTORY โญ

the vacation command appeared in 4.3BSD. vintage. classic. historic even ๐Ÿ‘‘


AUTHOR ๐Ÿ‘‘

vacation was developed by Eric Allman and the University of California, Berkeley in 1983.

This version is maintained by Marco d'Itri <md@linux.it> and contains code taken from the three free BSD and some patches applied to a linux port.


and that's a wrap bestie ๐Ÿซถ this lil Linux edition is dated June 15, 2003 โ€” go touch some grass, you're officially on vacation ๐Ÿ’–โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from