The BSD Vacation V2 Project

General Information

I've almost entirely re-written the vacation program that originally came with Sendmail. My new version tries much harder to be a proper Mail User Agent as defined by RFC 2822. It replies as to your mail as you would, and keeps a little database of recent correspondents to which it has sent a reply to so that it can avoid sending multiple annoying replies to every message someone sends to you, resending a new reply only every week or so. It also avoids sending replies to mailing list mail, bounces of your own mail, etc. This version has many other enhancements and many, many, bug fixes over the original. [new]


vacation replies to your personal e-mail on your behalf while you are away on vacation. You simply write a template message to be sent to your correspondents and arrange to have copies of your incoming e-mail piped to this program.


So, just what does this vacation have to offer? Here's a list of some of the most interesting features:

The original version supplied with Sendmail was a bit confused. It operated as an extension of the final local delivery agent, yet it believed it was a transport agent and tried to operate using both the the RFC 821 envelope information (as recoverd from the Unix mailbox "From " header) and some tiny part of the RFC 822 header information. This could cause no end of confusion and some real problems that could lead to bounce loops. It may have been slightly more likely to work with non-Internet (and non-UUCP) mail systems, but that's about its only advantage, and advantage I believe no longer has any useful merit.

Release Information

As of the last time this web page was updated the current release was: 2.0.

The most recent release is always available as .

The current release distribution is just the BSD source. It should be reasonably portable to any modern POSIX(2001)-compatible Unix-like system. I believe it needs only a NetBSD-compatible asprintf(3), a 4.4BSD-compaible fgetln(3), and a BSD-compatible db(3) over and above what's available in most standard Unix/POSIX libraries.

User Documentation

You can read the vacation manual page online. Reference

My version of vacation is listed on at

Future Plans

Make it easier to specify recipient addresses, including wildcard or RE matching. This probably means adding support for a default flat-file list of aliases, such as ~/.vacation.aliases. Possibly also multiple ``login'' parameters could be allowed as well, and they could be full addresses too, effectively deprecating the need for `-a'.

Add a command-line option to allow the user to specify a (list of) header fields (body and/or contents, substring, exact, or RE?) that should be used to mark messages that should not be responded to.

Provide better conformance to RFC 3834 (Automatic E-mail Responses).

Make it easier to initialize a default template message.

These and other ideas are better documented in the ToDo file which accompanies the distribution.

Patches and bug reports always welcome! See the contact address below!


The original version of vacation upon which this version is based came from NetBSD.

The 2.0 release used a half-baked RFC-822 header reader borrowed from the BSD Mail program, and it parsed out mailbox names from recipient headers using very basic string comparison tricks, which sometimes worked. More recent releases include a from-scratch, complete, RFC 2822 header and address parser which has been well tested and which is known to accept all valid address list syntax.

For further information about the BSD Vacation V2 project in particular, or to comment on this particular web page, please contact me at this address: <>

Last updated on %E% at %U% (version %I%).
Copyright 2001 - Greg A. Woods. All rights Reserved
Last modified: