If you try to run sieveshell and get the following error:
$ sieveshell -a myuser localhost
connecting to localhost
Bad protocol from MANAGESIEVE server: EOL2
You might check to see if:
- Your user has a directory (owned by cyrus.mail, of course) in the configured sievedir found in /etc/imapd.conf. This is normally /var/imap/sieve. The directory will be under another directory of the username's first letter. (It'll be obvious when you see it.)
- You do not have both sievedir set and sieveusehomedir set to 'yes'. I had the above problem and changing the latter to 'no' made everything happy.
I wouldn't normally post something this trivial, but google gave me no help when finding an answer, so this is for myself 18 months from now when we're reconfiguring cyrus...