Last Update: "2010/01/04 01:18:33 makoto"
sieve
sieve は
cyrus-imapd
で利用出来るメールの振分系です。
cd mail/cyrus-imapd
make package
で設置されます。sieve での振分を設定する言語は
RFC 3028
で定義されています。例えば次のようなところに情報があります。
- S.C. MAGI-SYSTEM 日記 から
-
http://www.magisystem.net/diary/?20040321
- RFC 3028 (英語)
-
http://rfc.sunsite.dk/rfc/rfc3028.html
- Cyrus IMAP serverでsieveを使う
-
http://www.j.dendai.ac.jp/~fujimoto/FreeBSD/cyrus-sieve.html
設定
/usr/pkg/etc/cyrus.conf
/usr/pkg/etc/imapd.conf
serv timsieved[18469]: can't use home directories
sieveusehomedir: true
|
v
## sieveusehomedir: true
.sieve
allof とか anyof を見ると、いささか「何だらう」と思ふが、これは単に
AND や OR の意味をさふ書くだけらしい。
.sieve を生成するための元の譜には次のような形の文を書きます。
if anyof (not exists ["From", "Date"],
header :contains "from" "fool@example.edu") {
discard;
}
つまり、次のような形式です。
if ( 論理 ) { 操作 }
あるいは:
if ( 論理 ) { 操作 }
else ( ) { }
上記例 | 意味 |
if | control commands
| 論理 | test commands
| 操作 | action commands
|
-
暗黙に保存 implicit keep : 何も指定がない場合には、単に保存する
-
操作
action commands に書けるのは次のやうなものです。
操作 | 意味 |
reject | 受取らない
| fileinto | 譜に保存
| redirect | 転送
| keep | 通常の処理 (メール box に保存)
| discard | 捨てる |
検査
test commands には次のものが書けます。
検査 | 意味 | 例 |
address
| allof | AND |
anyof | OR |
envelope | メール転送情報(発信元等)
| exists
| false
| header | メールの見出に | header :is "Sender".... |
not
| size
| true
|
有効にするには
ttyp0:mayumi@st4200 9:12:18/061218(~)> sieveshell localhost
connecting to localhost
Please enter your password:
> put .sieve.script
upload failed: put script: script errors:
line 10: syntax error, unexpected '}', expecting ';'
> put .sieve.script
> activate sieve
activate failed: Setting script active: Script does not exist
> list
.sieve
> activate .sieve
> list
.sieve <- active script
> quit
ttyp0:mayumi@st4200 9:14:47/061218(~)>
問題
#2 [pkgsrc] sieveshell localhost
# sieveshell localhost
connecting to localhost
Bad protocol from MANAGESIEVE server: EOL2
In /usr/pkg/etc/imapd.conf,
change the line
sieveusehomedir: true
to
# sieveusehomedir: true
(http://www.cwinters.com/News/display/?news_id=893)
saslauthd
ttyp0:makoto@st4200 18:16:49/061216(~....pkgsrc/attach)> sieveshell localhost
connecting to localhost
unable to connect to server at /usr/pkg/bin/sieveshell line 169.
ttyp0:makoto@st4200 18:16:55/061216(~....pkgsrc/attach)>
BAD case:
ttyp1:root@bwg3 10:55:15/070810(...cf/cf)# telnet localhost 2000
Trying ::1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.2.13"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
relational comparator-i;ascii-numeric regex"
OK
GOOD case:
ttyp0:makoto@st4200 10:55:04/070810(~)> telnet localhost 2000
Trying ::1...
Connected to localhost.
Escape character is '^]'.
"IMPLEMENTATION" "Cyrus timsieved v2.2.13"
"SASL" "PLAIN LOGIN CRAM-MD5"
"SIEVE" "fileinto reject envelope vacation imapflags notify subaddress
relational comparator-i;ascii-numeric regex"
OK
. logout
NO "Expected a command. Got something else."
NO "Expected a command. Got something else."
OK "Logout Complete"
Connection closed by foreign host.
Ref:
http://linux.derkeiler.com/Mailing-Lists/SuSE/2005-09/1017.html
missing package:
cy2-login-2.1.22 Cyrus SASL LOGIN authentication plugin
cy2-plain-2.1.22 Cyrus SASL PLAIN authentication plugin
Following one was installed at above testing, but it is said confusing.
Without this package, it is OK now.
cy2-crammd5-2.1.22 Cyrus SASL CRAM-MD5 authentication plugin
passwd is asked
ttyp0:makoto@bwg3 11:19:45/070810(~)> sieveshell localhost
connecting to localhost
Please enter your password:
Please enter your password:
unable to connect to server at /usr/pkg/bin/sieveshell line 169, <STDIN> line 2.
Aug 10 11:21:54 bwg3 saslauthd[18159]: do_auth : auth failure: [user=mylogin] [service=sieve] [realm=] [mech=getpwent] [reason=Unknown]
Aug 10 11:21:54 bwg3 perl: No worthy mechs found
Aug 10 11:31:08 bwg3 sieve[19884]: IOERROR: creating directory /usr/sieve: Permission denied
Aug 10 11:31:08 bwg3 sieve[19884]: mkdir /usr/sieve: Permission denied
Aug 10 11:31:08 bwg3 sieve[19884]: error in actions_setuser()
add the line in imapd.conf
sievedir:/var/sieve
151 12:40 vi /usr/pkg/etc/imapd.conf
152 12:40 mkdir /var/sieve
153 12:41 chown cyrus /var/sieve
- Diary 2006/12/18
-
http://www.ki.nu/~makoto/diary/2006/12/18/
- Cyrys SASL の使い方
-
http://d.hatena.ne.jp/obache/20080812/1218590863
- saslauthd経由では、cram-md5認証ができない
-
http://www.ki.nu/~makoto/diary/board.cgi?act=read&msgid=177
- Cyrus IMAP4 Serverよるメール環境の構築
-
http://hk-tech.homeip.net/pcserver/imap4.html
|