Setting up Sieve and Vacation Messages on Mac OS X Server
The documentation for setting up sieve on Mac OS X server is sparse, at best:
To enable Sieve support:
1. Add the following entry in /etc/services/:
sieve 2000/tcp #Sieve mail filtering
2. Reload the mail service.
Right. This will enable the service, but it doesn’t configure it. This short article describes how to do both.
1. Create the Sieve Directory
For those without much experience, Apple’s documentation doesn’t mean much, plus its missing some important steps. The first step, which isn’t mentioned, is to create the sieve directory, where the sieve scripts are to be located on your filesystem. You’ll be working in the Terminal application for this whole procedure. To create the sieve directory with the appropriate ownership in Leopard, do:
sudo mkdir /usr/sieve
sudo chown _cyrus:mail /usr/sieve
2. Enable the Sieve Service
The next step is to open /etc/services with a text editor — I use ‘vi’, but Apple helps newbies out by shipping the pico text editor with Leopard. To load the services file into pico:
sudo pico /etc/services
Use the arrow keys to scroll down, or, press Control-W, and type in ‘callbook’, followed by enter. There is already a service for port 2000 listed in Leopard’s services file: callbook. I have no idea what callbook is, so I replace it with sieve:
sieve 2000/tcp #Sieve mail filtering
callbook 2000/udp # callbook
#callbook 2000/tcp # callbook
Save your changes by pressing Control-o, and exit with Control-x. Sieve will be enabled as soon as the mail service is restarted. Before you do that though, setup a mail administrator account.
3. Setup a Mail Administrator Account
In order to install sieve scripts for other users, you need a mail administrator account. You should add a special account with a secure password for this task, but you could just add your own user account as a mail administrator. Supposing we have a special account named “mailadmin”, to enable it as a Cyrus mail administrator, open the /etc/imapd.conf file in your text editor, and change the first line:
admins: cyrusimap, mailadmin
Once the admin account is created, make sure that mail is enabled for the account, then send an email to it. The account’s mail box must exist before sieveshell will work with it.
4. Restart the Mail Service
You can restart the mail services by using the Server Admin application, or by running this at the command line:
sudo serveradmin stop mail
sudo serveradmin status mail
... ( it should indicate that the mail service is stopped ) ...
sudo serveradmin start mail
sudo serveradmin status mail
... ( it should now indicate that the mail service is running ) ...
You can tell if the sieve service is running by checking to see if the server is listening on TCP port 2000, by running this command:
netstat -an | grep 2000
tcp4 0 0 *.2000 *.* LISTEN
tcp6 0 0 *.2000 *.* LISTEN
5. Add a Sieve Script
Now all you need to do is add sieve scripts for users. Sieve scripts are text files. To add sieve scripts, you can use the sieveshell command, which is located in the obscure location, /usr/bin/cyrus/sieve/sieveshell. I suggest that you make life easier by symlinking it to your /usr/bin directory:
sudo ln -s /usr/bin/cyrus/sieve/sieveshell /usr/bin/sieveshell
Apple’s Mail Administration manual has several example scripts. The most common is probably a vacation message, so I’ll use that example. Copy and paste the example vacation script into a text file (‘pico vacation.msg’):
#--------
# 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 that sender.
:days 7
#For every message sent to these addresses
:addresses ["bob@example.com", "robert.fakeuser@server.com"]
# Make a message with the following subject
:subject "Out of Office Reply"
# And make the body of the message the following
"I’m out of the office and will return on December 31.
I won’t reply until 6 months after that.
Love, Bob.";
# End of Script
Note that there are two addresses between the brackets on the “:addresses” line. Be sure to put any email aliases that you have in a comma-separated list, or they won’t get an automated reply. This is useful for preventing sieve from replying to mail list email: subscribe to mail lists using a special mail alias, then exclude that alias from the :addresses line.
Going with the example and supposing that I have a user named “bob”, I would then add this sieve script, which is saved to an arbitrarily-named text file, “vacation.msg”, by running the following on the command line:
sieveshell --user=bob --authname=mailadmin localhost
This will get you into the interactive sieveshell. Type ‘help’ to see available commands. Assuming that your saved sieve script vacation.msg is in the current directory, install it for bob by running:
put vacation.msg
Verify that its there by running list. The last step is to activate the script with the activate command:
activate vacation.msg
list
That’s it. There will now be a directory, /usr/sieve/b/bob that contains bob’s sieve data, and you should get an automatic reply when you send an email to bob@example.com.

December 6th, 2007 at 20:48
Interesting — except “enable vacation.msg” should be “activate vacation.msg”.
December 6th, 2007 at 20:58
Oops! Thanks — fixed.
December 7th, 2007 at 12:15
to get squirrelmail to work with sieve:
Download the most recent avelsieve distribution from the web page at http://email.uoa.gr/projects/squirrelmail/avelsieve_download.php. I used the more recent Dev Branch version: avelsieve-1.9.6.tar.gz.
Un-tar this in the squirrelmail plugins directory ( /usr/share/squirrelmail/plugins ), again as root or using sudo via the Terminal and cd into ( avelsieve/config/ ). Copy the example config ‘config_sample.php’ to ‘config.php’ IN THE SAME DIRECTORY. You don’t really need to edit anything in the config.
Run the SquirrelMail config perl script;
% sudo /etc/squirrelmail/config/conf.pl
Choose Option 8, “Plugins” from the menu, and enable “avelsieve” by selecting it from the resultant list. Save your changes and quit the utility.
Login in to one of the mail accounts using SquirrelMail, and the “Filters” menu should now be an option – choosing this allows you to create your sieve scripts, including a vacation mail ‘auto-reply’.
Looking in the /usr/sieve/a/admin directory (for example) should show the following files;
lrwx—— 1 cyrusima wheel 12 Nov 4 11:41 defaultbc -> phpscript.bc
-rw——- 1 cyrusima wheel 232 Nov 4 11:42 phpscript.bc
-rw——- 1 cyrusima wheel 1056 Nov 4 11:42 phpscript.script
January 14th, 2008 at 02:50
HI, I’m new to this and need some help. I’m following your instructions to the letter, but when I get to the part where I type:
sieveshell –user=bob –authname=mailadmin localhost
All I get is the following message:
unable to connect to server at /usr/bin/sieveshell line 169, line 1.
What have I done wrong?
January 14th, 2008 at 09:07
Hi Gary,
When you run:
netstat -an | grep 2000
Does it say:
tcp4 0 0 *.2000 *.* LISTEN
tcp6 0 0 *.2000 *.* LISTEN
?
If so, what happens when you `ping localhost’ ?
January 21st, 2008 at 10:58
I was having he same problem as Gary. The system.log reported “No worthy mechs found”. Guessing this was referring to SASL authentication mechanisms I went into Server Admin and enabled Login and PLAIN authentication for IMAP and SMTP. sieveshell now prompts for a password but does not accept the user password or the mail administrator password. Stuck again.
January 21st, 2008 at 11:07
When you run sieveshell, you are not connecting to IMAP. You are connecting to the sieve service. So, when you run ‘netstat’ as per above, do you get the output mentioned above, indicating that the sieve service is actually running?
If so, is your user or mail administrator username listed on the admin line of /etc/imapd.conf, as per step 3, above?
February 14th, 2008 at 10:32
will this still work if my mail database is stored on a different hard drive than my leopard server install is on? i have mirrored drives in the xserve that work solely as mail storage.
February 14th, 2008 at 10:40
The location of your mail storage has nothing to do with the sieve service.
February 14th, 2008 at 10:42
many thanks.
April 10th, 2008 at 10:42
This is a great step-by-step. Thanks.
I ran into the same issue. Any resolution on this?
April 10th, 2008 at 10:48
Hi John, what issue did you run into?
April 10th, 2008 at 11:39
On 2008-Apr-10, at 11:48 AM, NetMojo Blog wrote:
Author: Brent
Comment:
Hi John, what issue did you run into?
Hi Brent,
I followed your directions to the letter and get to the part of logging into the sieveshell and get:
$ sieveshell --user=johnevans --authname=mailadmin localhost
connecting to localhost
Please enter your password:
unable to connect to server at /usr/bin/sieveshell line 169,
The netstat worked, and I even rebooted the machine.
Any idea?
John Evans
April 10th, 2008 at 12:00
When I run:
sieveshell –user=userfoo –authname=mailadmin
And enter the wrong password for user ‘mailadmin’, I get a similar result to yours:
unable to connect to server at /usr/bin/sieveshell line 169, line 3.
However, if I enter the correct password for user ‘mailadmin’, it connects successfully. To verify that you are using the correct password, you can use theserversetup utility:
$ sudo /System/Library/ServerSetup/serversetup -verifyNamePassword shortname password
April 10th, 2008 at 20:07
Double triple checked and the password I’m using is valid.
April 14th, 2008 at 13:20
If you used the serversetup utility to verify the password, then the question to ask is why isn’t the sieve service authenticating your user? One way to find out is to watch the /var/log/system.log file when you try to authenticate with sieveshell.
I tried testing with three scenarios. The first one, I used a fake username (“fakeuser”), and got this in the system.log:
Apr 14 14:02:13 myserver perl[57674]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (No credentials cache found)
Apr 14 14:02:22 myserver sieve[57704]: AOD: user opts: get attributes for user: fakeuser failed with error: -14479
Apr 14 14:02:22 myserver sieve[57704]: badlogin: localhost[::1] SIEVE-PLAIN (-1)
Apr 14 14:02:24 myserver sieve[57704]: AOD: authentication error: cannot find user: fakeuser (0)
Apr 14 14:02:24 myserver sieve[57704]: badlogin: localhost[::1] SIEVE-CRAM-MD5 (-4)
Apr 14 14:02:24 myserver perl[57701]: No worthy mechs found
The second test, I used a real user (“realuser”), but one that is not listed on theadmins: line of /etc/imapd.conf :
Apr 14 14:11:02 myserver perl[59199]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (No credentials cache found)
Apr 14 14:11:05 myserver sieve[59200]: illegal authorization attempt: - realuser - is not an admin user
Apr 14 14:11:10 myserver perl[59199]: No worthy mechs found
For the third scenario, I use a real user (“realadmin”) that is listed on theadmins: line of /etc/imapd.conf , however, I use the wrong password:
Apr 14 14:16:10 myserver perl[59987]: GSSAPI Error: Unspecified GSS failure. Minor code may provide more information (No credentials cache found)
Apr 14 14:16:13 myserver /usr/sbin/PasswordService[89]: client response doesn't match what we generated
Apr 14 14:16:13 myserver sieve[59989]: AOD: crypt authentication error: authentication failed for user: realadmin (-14090)
Apr 14 14:16:13 myserver sieve[59989]: badlogin: localhost[::1] SIEVE-PLAIN (-6)
Apr 14 14:16:14 myserver /usr/sbin/PasswordService[89]: client response doesn't match what we generated
If your output matches one of these three sets of output, then you should know what the problem is. If it is the 3rd one — wrong password — then perhaps the problem is with the password itself. Sieveshell is a perl script, maybe there are some characters that break it, and therefore can’t be used in the password (with this service).
Cheers,
Brent
May 15th, 2008 at 11:52
Hello..
Sorry.. For whatever reason, when I try running sieveshell, it says command not found. Any ideas?
May 15th, 2008 at 12:37
Try step 5: sudo ln -s /usr/bin/cyrus/sieve/sieveshell /usr/bin/sieveshell
May 15th, 2008 at 12:43
I ran step 5 again, and it says the file exists. I followed the instructions above to a T and when I try and run sieveshell, it still says command not found.
Do I have to install Sieve? From all the instructions I’ve read so far it seems that Sieve is installed by default, and all you have to do is activate it.
I’m running Mac OS X Server 10.4.11
May 15th, 2008 at 12:48
Then, oddly, /usr/bin is not in your PATH. Run it with the full path:
/usr/bin/sieveshell
Brent
May 15th, 2008 at 12:50
I ran
/usr/bin/sieveshell
and it returned with no such file or directory. Is there a way I can reinstall sieveshell?
May 15th, 2008 at 12:52
It’s also odd.. when I run ls, I can see sieveshell in the bin directory. I’m not much of a terminal guru.. I’ve gotta be missing something simple. I mean it appears to be in the directory. I just can’t figure out why it won’t run.
thanks for your help by the way!
May 15th, 2008 at 12:55
Strange; try /usr/bin/cyrus/sieve/sieveshell
What does ls -l /usr/bin/cyrus/sieve say? Are you sure that you aren’t making a typing error, like “seive” instead of “sieve”?
May 15th, 2008 at 12:57
I ran /usr/bin/cyrus/sieve/sieveshell and it returned:
-bash: /usr/bin/cyrus/sieve/sieveshell: No such file or directory
Yet when I do a file listing, I can see sieveshell.. heh.. this is usually the kind of luck I have with this stuff.
May 15th, 2008 at 12:58
running: ls -l /usr/bin/cyrus/sieve
No such file or directory
May 15th, 2008 at 13:06
What about:
ls -l /bin/sh
ls -l `which perl`
ls -l /usr/bin/perl
Try:
export PATH=$PATH:/bin:/usr/bin
sieveshell
May 15th, 2008 at 13:40
still no luck..
ls -l /bin/sh
returns:
-r-xr-xr-x 1 root wheel 1068844 Apr 10 2007 /bin/sh
ls -l `which perl`
returns:
-rwxr-xr-x 1 root wheel 43444 Jul 1 2006 /usr/bin/perl
ls -l /usr/bin/perl
returns:
-rwxr-xr-x 1 root wheel 43444 Jul 1 2006 /usr/bin/perl
the export command you gave me doesn’t seem to do anything.. I’m probably entering it incorrectly.
May 15th, 2008 at 13:48
Sorry, earlier I meant: ls -l /usr/bin/cyrus/sieveshell
I’m wondering if it is executable. Try ‘sh /usr/bin/cyrus/sieveshell’
It is unclear whether your shell (bash) is saying that there is no such file named ‘/usr/bin/cyrus/sieveshell’, or whether sieveshell is producing that message by running something. If you look inside sieveshell, you’ll see that it’s a shell script that runs perl:
#! /bin/sh
exec perl -x -S $0 ${1+"$@"} # -*-perl-*-
#!perl -w
#
# Copyright (c) 2000 Carnegie Mellon University. All rights reserved.
#
...
Everything is in your PATH, so what is it that isn’t being found?…
Can you do:
perl -we 'print "Perl works!\n";'
?
May 15th, 2008 at 14:05
ls: /usr/bin/cyrus/sieveshell: No such file or directory
sh /usr/bin/cyrus/sieveshell
returns:
~ admin$ sh /usr/bin/cyrus/sieveshell
/usr/bin/cyrus/sieveshell: /usr/bin/cyrus/sieveshell: No such file or directory
May 15th, 2008 at 14:05
perl -we ‘print “Perl works!\n”;’
Perl works!
May 15th, 2008 at 14:09
So what does:
ls -l /usr/bin/cyrus
look like?
May 15th, 2008 at 14:11
starck:~ admin$ ls -l /usr/bin/cyrus/sieveshell
ls: /usr/bin/cyrus/sieveshell: No such file or directory
May 15th, 2008 at 15:16
Update:
So you may want to do:
ln -sf /usr/bin/cyrus/test/sieveshell /usr/bin/sieveshell, to replace the broken symlink that you created earlier.
Cheers,
Brent
On May 15, 2008, at 16:03 , Evan Cunningham wrote:
Okay..
/usr/bin/cyrus/test/sieveshell
running the line above seems to have finally launched sieveshell. Thank you so much for your help! I’m not sure why it’s inside a test directory.. I’ll see what I can sort out from here.
evan
On 15-May-08, at 2:58 PM, Brent wrote:
OK, try looking for it this way:
sudo find /usr -name “sieveshell” -print
July 4th, 2008 at 08:51
Will this work on OS X Server Tiger (10.4.10)?
July 4th, 2008 at 09:28
Yes, probably.
July 8th, 2008 at 09:09
I’m trying this on Tiger but I’m having the following output. When I run:
mainserver:~/Documents localadmin$ sieveshell --user=maria --authname=mailadmin localhost
connecting to localhost
dyld: lazy symbol binding failed: Symbol not found: _init_net
Referenced from: /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Cyrus/SIEVE/managesieve/managesieve.bundle
Expected in: dynamic lookup
dyld: Symbol not found: _init_net
Referenced from: /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Cyrus/SIEVE/managesieve/managesieve.bundle
Expected in: dynamic lookup
Trace/BPT trap
mainserver:~/Documents localadmin$
My system.log outputs:
Jul 8 15:57:52 mainserver crashdump[1755]: perl crashed
Jul 8 15:57:52 mainserver crashdump[1755]: crash report written to: /Users/localadmin/Library/Logs/CrashReporter/perl.crash.log
The perl.crash.log reads:
Host Name: mainserver
Date/Time: 2008-07-08 15:57:52.579 +0000
OS Version: 10.4.9 (Build 8P2137)
Report Version: 4
Command: perl
Path: /usr/bin/perl
Parent: bash [1638]
Version: ??? (???)
PID: 1754
Thread: Unknown
Link (dyld) error:
Symbol not found: _init_net
Referenced from: /System/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Cyrus/SIEVE/managesieve/managesieve.bundle
Expected in: dynamic lookup
Any tips on fixing this?
Thanks a lot for your help and the great article.
July 8th, 2008 at 09:54
According to this post:
http://lists.apple.com/archives/Macos-x-server/2007/Jan/msg00346.html
It’s an Apple screw-up. They compiled sieve against PPC libraries but not x86 ones. I would follow the advice in the thread: file the bug report with Apple, and wait for a fix.
Although, that post is from Jan 2007 and it’s still not fixed in July 2008!?! That’s pretty bad.
July 14th, 2008 at 03:43
Hi Brent,
I’m having a small problem… When I run :
/usr/bin/cyrus/sieve/sieveshell –user=myuser –authname=mailadmin localhost
If I give a wrong password I get this :
Jul 14 12:38:56 Server105 sieve[78036]: badlogin: localhost[::1] SIEVE-LOGIN (-6)
If I type the correct password I get the following in syslog :
Jul 14 12:39:18 Server105 perl[78035]: No worthy mechs found
And as an error :
unable to connect to server at /usr/bin/cyrus/sieve/sieveshell line 169, line 2.
Thanky for your tuto ;)
Just hope to get it working…
August 11th, 2008 at 05:02
try creating /usr/sieve
mkdir /usr/sieve
chown _cyrus:mail /usr/sieve
and try again.
regards,
rj.
September 11th, 2008 at 18:35
When I connect to localhost have this.
Bad Protocol from MANABESIEVE server:EOL2
THX
September 11th, 2008 at 18:35
sorry it is MANAGESIEVE
November 18th, 2008 at 11:42
Thanks a lot for this great documentation! I’ve got sieve up and running (with avelsieve as well). The sieve scripts work fine with every account, except for the mailadmin account itself. This account was created as described in section 3 of this documentation. Any advice on this one!
November 18th, 2008 at 12:32
I just updated section 3 — the IMAP admin account’s mailbox must exist in IMAP before the sieve scripts work with it.
November 18th, 2008 at 19:25
The mailadmin mailbox does exist. Mail sent to this account (or any of its postfix aliases) slip through the sieve filters and goes directly into the inbox.
March 4th, 2009 at 09:27
This wa s exactly what I was looking for and it worked
Thanks very much
March 12th, 2009 at 07:26
The instructions for the vacation message were great! Thanks very much!
The only caveat I’ve found is that I can’t make it STOP. Despite sieveshell reporting it has no active OR installed scripts, the vacation message continues to be sent, but only an an autoreply to a handful of specific addresses (with no apparent pattern or connection). I’ve found no way to make it quit. It’s a little aggravating, but I think it has little to do with your instructions above. Thanks much!
April 6th, 2009 at 06:00
Thanks for the great infos !
ONE QUESTION:
============
How can i “exclude” mail-adresses from being delivered / replied from sieve.
We have a lot of “aliases” in our system, and if users enabling a vacation message, then sieve answers for all their “virtual aliases”.
e.g. the user has tom.schulz@mail.com as his primary mailaddress, but is in the distributon list client@mail.com (which is an alias for the user) then sieve sends the vacation message back to the sender who uses client@mail.com but not directly tom.schulz@mail.com.
Where do i have to fix this little thing ?
Thanks in advance,
harry
April 6th, 2009 at 07:34
Hi Harry,
Sieve will only reply to the addresses listed in the :addresses line, e.g.:
#For every message sent to these addresses
:addresses ["bob@example.com", "robert.fakeuser@server.com"]
So simply exclude the aliases that you don’t want replies for.
Best,
Brent
June 19th, 2009 at 01:34
Hi,
Thanks for this info, I used it to turn on the service for a friend of mine for an autoresponder. The person is now back from holiday but the autoresponder wont turn off. I deleted thr script and ran list and its no longer there, but it is still replying, does anyone now the way to get around this without turning of sieve completey?
June 19th, 2009 at 08:12
Hi Aj,
You deactivate the script in the same way you activated it. Login to sieve with sieveshell, run ‘list’ to see it, then run ‘deactivate scriptname‘.
Cheers,
Brent
July 23rd, 2009 at 15:57
Thanks for sharing this, I used it along with the information that Apple provide and managed to get a script running but had some issues with sieveshell.
Apple suggest setting up sieve in /etc/services with port 2003, they also set up both udp and tcp. The port wasn’t configured at all so I added the two lines.
They also suggest enabling the SERVICES section of the /etc/cyrus.conf file, there is a # before the sieve entry that should be removed although on my server this was already enabled.
I had three accounts that I wanted to add scripts to, my own and two other users. I added myself as a cyrus mail administrator to the /etc/imapd.conf as you recommended and logged in with the sieveshell to ‘myuser’ account.
sieveshell -u myuser -a myuser localhost
I used the put command to upload the script which was a simple redirect, I then listed it to make sure it was there and used the activate command to start it.
I listed it again just to see what it would do and it ‘points’ at the active script. I sent an email to my account and the email was redirected to my personal email account.
Flushed with success I decided to create scripts for the other users, I quit sieveshell and logged in again but into another user’s account
sieveshell -u userA -a myuser localhost
I put the script as before and then issued a list and it showed the first script that I uploaded as well as the new one. I activated the new one and listed again and the new script showed as active whilst the l script didn’t.
It turned out that I had been logged back into my account even though I had set the –user to userA.
The only way I could get this to work was to use the user’s id as the authname.
sieveshell -u userA -a userA localhost
Am I doing something wrong with sieveshell?
Thanks, Alan
July 23rd, 2009 at 16:17
Hi Alan,
I noticed this behavior too; it only started fairly recently, perhaps with the 10.5.7 update. So now I use a ‘mailadmin’ account instead of my own for the -a argument to seiveshell, and that seems to circumvent the problem somehow. Maybe it’s related to an environment variable or something…
Cheers,
Brent
August 31st, 2009 at 08:49
Good news! Snow Leopard Server has a new feature that allows users to manage their own vacation messages through a web interface:
http://www.netmojo.ca/2009/08/31/snow-leopard-server-adds-user-managed-vacation-messages/
-Brent
September 11th, 2009 at 12:23
Hi, I have the curious thing that it works with some users and othrs not. I have the Filters link in the Squirrel interface and it works for my account and any new account I create, but exsisting account get the:
(Debug Mode). Login failed. Capabilities:
ERROR:
Kon niet inloggen op de timeseived daemon op de IMAP server localhost:2000.
Neem contact op met de beheerder.
(Could not login on the timesieved daemon on the IMAP server Localhost:2000
Please contact the administrator)
Why does this happen to a unhappy few and not all, and how can I reactivate these guys?
Cheers, Ruben
May 14th, 2010 at 16:56
[...] I found Sieve. I’d actually heard of it before but never really thought about it. The Apple Discussion Forum had a nice start and pointed me on to sources I used to set it [...]
December 15th, 2010 at 21:38
The photo and painting works on your blog are really impressive. Would you provide a tutorial on HDRI on your blog? That will be useful to the people who share the same difficulty in work like me.
January 7th, 2011 at 15:48
Hi Everyone.
I need some help with this , please!!
I followed the instructions and everything seems to be fine, but when I run:
“sieveshell –user=bob –authname=mailadmin localhost”, instead of creating a file on /usr/sieve/b/bob it creates in /usr/sieve/m/mailadmin.
I found some posts regarding to this called “sieveshell uses global sieve folder when auth’ing as cyrus” but I coudn’t make it work with those suggestions (or they are not applicable for mac servers, or I didn’t understand them properly)
Could somebody help me with this, please?
Thanks a lot.
Jose.
January 12th, 2011 at 16:47
Hey, can anybody help me with it?
Any clue?
Thanks
January 12th, 2011 at 16:52
Hi Jose, did you create the mailadmin mailbox, and send a message to it, as per section 3?
January 13th, 2011 at 08:13
yes, I did.
When I detected the problem I thought that there was a problem with mailadmin user.
So I deleted it, create another one called adminmail , send an email to it, replaced the name on /etc/imapd.conf and restarted mail service.
Then I tried again “sieveshell –user=bob –authname=adminmail localhost” and put the script there.
After that I checked /usr/sieve/ and what I have there is:
/usr/sieve/m/mailadmin (created originally with adminmail) and /usr/sieve/a/adminmail created with the new user adminmail.
But it didn’t create /usr/sieve/b/bob as I expected.
I found information about this problem for another environment in this link:
http://www.mail-archive.com/info-cyrus@lists.andrew.cmu.edu/msg40685.html
But it doesn’t seem to be applicable to Mac OS 10.5
Thanks a lot for your help.
Jose.
January 13th, 2011 at 12:32
Is there a user account named “bob”, who has mail enabled, and has received mail before?
January 13th, 2011 at 14:35
yes, I’m trying to make this work with my own email address that is in use since a long time ago.
May 9th, 2011 at 19:53
Can these instructions be used for 10.6 Server as well?
Thanks
July 1st, 2011 at 01:30
Nice blog, visit mine with NokiaS60V5.net games, softwares and themes, thanks, bye
August 26th, 2011 at 06:36
Hi
strange problem. Everything works normal i successfully initiated vacation message but after i deleted it from active list some of recipients still get it. LIST command shows nothing. Can somebody advise?
thanks
October 25th, 2011 at 00:55
Worked perfectly first time around. I am using CentOS 5.5 on a Linux VM. Just had to make sure to add the @domain part.
ie. sieveshell –user=user@domain.com –authname=cyrus localhost
It created the directories (…domain/x/domain.com/x/user) as well under /var/lib/imap/sieve, which I was not sure of (thought I had to perhaps symlink to /var/spool/imap/domain… instead, or create the dirs manually).
Thanks!