Vacation Messages on OS X 10.4 Server
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
homedirs - 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
/etc/imapd.conf
:
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
guide:
#--------
# 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
vacation
# 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 ["stone-purchasing@zeus.eng.uiowa.edu"]
# 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.