Vacation Messages on OS X 10.4 Server Raw

The Situation!

*   Mac OS X 10.4.11 Server
    *   Postfix, Cyrus, Dovecot
*   Couldn't put vacation in user's homedir
*   Couldn't find vacation binary
*   Other sieve programs only worked with SquirrelMail, only with user
*   Roundcube plugin needed FTP access... to put stuff in homedirs
*   Apple's Mail Server documentation to set up sieve is crap

The Resolution

Use Cyrus IMAP's sieve to set up a script that auto replies. It needs to
be set up first.

    sudo mkdir /usr/sieve  
    sudo chown cyrusimap:mail /usr/sieve

Add yourself to user group that can administer sieve by editing

    admins: cyrusimap, admin

Now add `sieve 2000/tcp #Sieve mail filtering` to `/etc/services`.
Restart mail:

    sudo serveradmin stop mail  
    sudo serveradmin start mail

Server should now be listening on port 2000:

    netstat -an | grep 2000  
    tcp4       0      0  *.2000                 *.*                    LISTEN  
    tcp6       0      0  *.2000                 *.*                    LISTEN

Make a vacation script. It can be anywhere. Here's the example from [the
Mail Server admin

    # This is a sample script for vacation rules.  
    # Read the comments following the pound/hash to find out  
    # what the script is doing.  
    # Make sure the vacation extension is used.  
    require "vacation";  
    # Define the script as a vacation script  
    # Send the vacation response to any given sender only once every seven days no matter how many messages are sent from him.  
    :days 7  
    #For every message sent to these addresses  
    :addresses [""]  
    # Make a message with the following subject  
    :subject "Out of Office Reply"  
    # And make the body of the message the following  
    "Test auto reply";  
    # End of Script

Enter the sieve shell

    /usr/bin/cyrus/test/sieveshell --user=testuser --authname=admin localhost  
    connecting to localhost  
    Please enter your password:   
    > put vacation.msg  
    > activate vacation.msg   
    > quit

This creates `/usr/sieve/t/testuser`. Type 'help' for help. Use
'deactivate' to remove all scripts. Test. Fin.