Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1458392
  • 博文数量: 408
  • 博客积分: 10036
  • 博客等级: 上将
  • 技术积分: 4440
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-06 13:57
文章分类

全部博文(408)

文章存档

2011年(1)

2010年(2)

2009年(1)

2008年(3)

2007年(7)

2006年(394)

我的朋友

分类: LINUX

2006-04-13 18:39:01

Sort your mail with Sieve under Cyrus

Posted by on Thu 18 Aug 2005 at 13:32

Tags:

The principal advantage with an imapd server is that your mailbox is the same for all your mail clients. When you need to filter some emails this is usually a job for your mail client - and if it's not running, there's no filtering. Sieve allows you to filter mails in your Cyrus imap server even when you don't have a client open.

Configure Cyrus

Edit the file /etc/imad.conf and uncomment this line to activate the sieve admin :

sieve_admins: cyrus

Then choose the directory of the sieve scripts :

sievedir: /var/spool/sieve

It's time to active sieve daemon, uncomment :

sieve cmd="timsieved" listen="localhost:sieve" prefork=0 maxchild=100

Once all that is done restart your cyrus daemon.

You can verify that the service is activated :

linux:/home/leto# cat /etc/services | grep sieve
sieve           2000/tcp                        # Sieve mail filter daemon
Create a sieve script

Here are some simple examples (location of the script doesn't matter) :

cat script.sieve
# If subject contains [Linux] then put it on the "Linux" box.
if header :contains "Subject" "[Linux]" { fileinto "Linux"; stop; }

# If mail is from cube3 company put it on the "Cube3" box.
if address :domain :is "From" "cube3.org" { fileinto "Cube3"; stop; }

# If mail address is one of my friend bob put it on "Mybudbob" box.
if address :is "From" ["premiere@adresse.monpote", "deuxieme@adresse.monpote"] \
{ fileinto "MonpoteBob"; stop; }

# Same thing but just for one address.
if header :contains "From" "Cron Daemon" { fileinto "Reports"; stop; }
Install the script

If there's no shell use option : --user=*user*

sieveshell localhost
>put script.sieve
>activate script.sieve
>quit

Your script is ready :)

If It doesn't work

Verify your syslog, if you have the following error:

Fileinto: Invalid mailbox name

Then you can fix this by replacing in your your script : target by INBOX.target or INBOX/target depending on your cyrus version.


Posted by (67.153.xx.xx) on Thu 18 Aug 2005 at 15:09
If you use Squirrelmail, there is at least one plugin for creating sieve scripts via a web interface.




[ Parent | ]

Posted by (194.2.xx.xx) on Thu 18 Aug 2005 at 15:21
there's a package websieve - Web based Cyrus IMAP user admin client too.

[ | ]

Posted by (213.74.xx.xx) on Fri 19 Aug 2005 at 07:51
What should I do if I am using courier IMAP.

[ | ]

Posted by (69.214.xx.xx) on Fri 19 Aug 2005 at 06:10
If you use the Exim4 MTA, you can also use its .forward file -- see the official documentation for more on this.

[ Parent | ]

Posted by (216.194.xx.xx) on Sun 21 Aug 2005 at 23:03

In the article this:

linux:/home/leto# cat /etc/services | grep sieve
sieve           2000/tcp                        # Sieve mail filter daemon

is used to "verify that the sieve service is running", which is not true. /etc/services is just a list of ports and the services that are normally attached to those ports. It is a text file that is not changed wether a daemon is running on the host or not.

Something like:

$ netstat -lt| grep sieve

would tell the admin if the sieve daemon is running on the expected port or not.

[ Parent | ]

Posted by (217.169.xx.xx) on Tue 27 Sep 2005 at 10:50
How to add Sieve to Debian?

[ Parent | ]

Posted by (213.140.xx.xx) on Wed 12 Oct 2005 at 00:51
any answer?
I'd need that too...

[ | ]

Posted by (212.125.xx.xx) on Sun 23 Oct 2005 at 22:33
Sieve is included in the cyrus21-common package.
阅读(654) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~