This section assumes that you compiled Cyrus with sieve support. If you specified --disable-sieve when running ./configure, you did NOT compile the server with sieve support.
A brief introduction to Sieve at is available from Cyrusoft International.
Some Sieve actions (redirect, vacation) can send outgoing mail.
You'll need to make sure that "lmtpd" can send outgoing messages. Currently, it invokes "/usr/lib/sendmail" by default to send messages. Change this by adding a line like:
sendmail: /usr/sbin/sendmailin your "/etc/imapd.conf". If you're using Postfix or another MTA, make sure that the sendmail referenced in "/etc/imapd.conf" is Sendmail-compatible.
If, for some reason, you do have user home directories on the server, you can use the "sieveusehomedir" option and have the sieve script stored in the home directory of the user as "~/.sieve".
telnet foobar sieveIf your server is running, you'll get a message similar to the following one:
Trying 128.2.10.192... Connected to foobar.andrew.cmu.edu. Escape character is '^]'. "IMPLEMENTATION" "Cyrus timsieved v1.1.0" "SASL" "ANONYMOUS PLAIN KERBEROS_V4 GSSAPI" "SIEVE" "fileinto reject envelope vacation imapflags notify subaddress regex" OK
Any message other than one similar to the one above means there is a problem. Make sure all of authentication methods you wish to support are listed. This list should be identical to the one listed by "imapd" earlier. Next terminate the connection, by typing "logout".
"sieveshell foobar" Please enter your password: ****** > quitThis should produce the message "Authentication failed" with a description of the failure if there was a problem.
require ["reject","fileinto"]; if address :is :all "From" "foo@example.org" { reject "testing"; }To place this script on the server run the following command:
"sieveshell foobar" Please enter your password: ****** > put myscript.script > activate myscript > quitThis should place your script on the server and make it the active script.