Web Programming, Linux System Administation, and Entrepreneurship in Athens Georgia

Postfix Vacation Message

The idea of a vacation message is kindof odd to me, but I had one client request it today, so took a look at configuring it. On RHEL/CentOS distros, the ‘vacation’ binary is distributed with sendmail, and is not available with postfix, so you have to build it yourself. Fortunately, it is about the easiest thing I have ever compiled.

[root@host ~]# yum install gdbm-devel
[root@host ~]# cd /usr/local/src/
[root@host ~]# wget https://internap.dl.sourceforge.net/sourceforge/vacation/vacation-1.2.7.0-rc2.tar.gz
[root@host ~]# tar -xvzf vacation*
[root@host ~]# cd vacation-1.2.7.0-rc2
[root@host ~]# make
[root@host ~]# make install

That’s it. Not even a configure script. That should install the vacation binary in /usr/bin/vacation.

Now just create a vacation message by putting a ‘.vacation.msg’ in the user’s home directory with the auto-reply content:

Subject: On vacation message.

I'm on vacation and will not be reading my mail for a while.
Your mail will be dealt with when I return. 

And finally, create a .forward file that tells your mail program to deliver to the vacation program:

\myuser, "|/usr/bin/vacation  myuser"

That should be it. I tested and verified that it works. Note that you have to provide a to: header with the recipient’s address.

Next, I might try some experiments to see if I can get it to work with virtual users.

5 Comments

  1. Tim

    Wondering if you made any headway on the virtual users front?

  2. Chris Samuel

    Rather than creating the vacation message file and forward file yourself it might be easier to just run “vacation” to set it up. 🙂

    cheers!
    Chris (vacation maintainer)

  3. Mike

    Hmm. No worky for me on CentOS 5
    make – make: Nothing to be done for `all’.
    make install –
    ./html2man.pl /usr/man/man1/vacation.1
    /bin/sh: /usr/man/man1/vacation.1: No such file or directory
    make: *** [install] Error 1

  4. Stephane

    This message only means /usr/man/man1/ needs to exist.

  5. benny007

    Thanks mate. regarding the error the only step you need to add before the make command is:

    mkdir -p /usr/man/man1

Leave a Reply

Your email address will not be published. Required fields are marked *

© 2025 Brandon Checketts

Theme by Anders NorenUp ↑