1 \input texinfo @c -*-texinfo-*-
4 @settitle Emacs Sieve Manual
10 This file documents the Emacs Sieve package.
12 Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
15 Permission is granted to copy, distribute and/or modify this document
16 under the terms of the GNU Free Documentation License, Version 1.2 or
17 any later version published by the Free Software Foundation; with no
18 Invariant Sections, with the Front-Cover texts being ``A GNU
19 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
20 license is included in the section entitled ``GNU Free Documentation
21 License'' in the Emacs manual.
23 \e$B$3$NJ8=q$r!"%U%j!<%=%U%H%&%'%":bCDH/9T$N
\e(B GNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q
\e(B
24 \e$BBh
\e(B 1.2
\e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9
\e(B
25 \e$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,$O;XDj$7$^$;$s!#!H
\e(BA GNU Manual
\e$B!I$OI=I=;f
\e(B
26 \e$B%F%-%9%H!"0J2<$N
\e(B (a)
\e$B$ON"I=;f%F%-%9%H$G$9!#$3$NMxMQ5vBz7@Ls=q$NJ#<L$O
\e(B
27 \e$B!H
\e(BEmacs manual
\e$B!I$N!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F$$$^
\e(B
30 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
31 this GNU Manual, like GNU software. Copies published by the Free
32 Software Foundation raise funds for GNU development.''
34 (a) FSF
\e$B$NN"I=;f%F%-%9%H
\e(B:
\e$B!V$"$J$?$K$O$3$N
\e(B GNU Manual
\e$B$r
\e(B GNU
\e$B%=%U%H%&%'%"
\e(B
35 \e$B$N$h$&$KJ#@=$7$?$jJQ99$9$k<+M3$,$"$j$^$9!#J#@=$O%U%j!<%=%U%H%&%'%":bCD$K
\e(B
36 \e$B$h$C$F=PHG$5$l$^$7$?!#
\e(B(
\e$B%U%j!<%=%U%H%&%'%":bCD$O
\e(B) GNU
\e$B$N3+H/$N$?$a$KI,MW
\e(B
37 \e$B$J;q6b$r=8$a$F$$$^$9!#!W
\e(B
39 This document is part of a collection distributed under the GNU Free
40 Documentation License. If you want to distribute this document
41 separately from the collection, you can do so by adding a copy of the
42 license to the document, as described in section 6 of the license.
44 \e$B$3$NJ8=q$O!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$K4p$E$$$FG[I[$5$l$?<}=8Cx:nJ*
\e(B
45 \e$B$N0lIt$G$9!#$b$7$"$J$?$,$3$NJ8=q$r<}=8Cx:nJ*$+$iJ,N%$7$FG[I[$7$?$$$H$-$O!"
\e(B
46 \e$B7@Ls=q$NBh
\e(B 6
\e$B>O$K5-=R$5$l$F$$$k$h$&$K!"J8=q$K7@Ls=q$NJ#<L$rIU2C$9$k$3$H
\e(B
47 \e$B$K$h$C$F!"9T$J$&$3$H$,$G$-$^$9!#
\e(B
53 * Sieve-ja: (sieve-ja). Managing Sieve scripts in Emacs (Japanese).
58 @setchapternewpage odd
61 @title Emacs Sieve Manual
63 @author by Simon Josefsson
65 @vskip 0pt plus 1filll
70 @top Sieve Support for Emacs
72 \e$B$3$N%^%K%e%"%k$O
\e(B Emacs Sieve
\e$B%Q%C%1!<%8$N@bL@=q$G$9!#
\e(B
74 \e$B$3$l$O
\e(B Sieve
\e$B%b!<%I$H!V
\e(BSieve-
\e$B4IM}!W
\e(B(Manage Sieve)
\e$B$N$?$a$N%f!<%6!<%:%^%K%e
\e(B
75 \e$B%"%k$H$7$F!"$*$h$S
\e(B @samp{sieve-manage}
\e$B%W%m%H%3%k$r07$&
\e(B Emacs Lisp
76 API
\e$B$N$?$a$N%j%U%!%l%s%9%^%K%e%"%k$H$7$F3hMQ$5$l$k$3$H$r0U?^$7$F$$$^$9!#
\e(B
78 Sieve
\e$B$O%5!<%P!<B&$G%a!<%k$r_I2a$9$k$?$a$N8@8l$G$9!#$=$N8@8l$O
\e(B RFC
79 3028
\e$B$KJ8=q2=$5$l$F$$$^$9!#$3$N%^%K%e%"%k$NL\E*$O8@8l$r@bL@$9$k$3$H$G$O
\e(B
80 \e$B$J$$$N$G!"
\e(BRFC 3028
\e$B$O<j85$KCV$$$F$*$$$F2<$5$$!#
\e(B
82 \e$B$^$H$b$J
\e(B Sieve
\e$B$N;qNA$O
\e(B @uref{http://www.cyrusoft.com/sieve/}
\e$B$K$"$j$^$9!#
\e(B
84 \e$BLuCm
\e(B: Sieve ==
\e$BdA
\e(B (
\e$B$U$k$$
\e(B)
87 * Installation::
\e$B$3$N%Q%C%1!<%8$r;H$&$?$a$N=`Hw
\e(B
88 * Sieve Mode:: Sieve
\e$B%9%/%j%W%H$NJT=8
\e(B
89 * Managing Sieve::
\e$B1s3V%5!<%P!<>e$N
\e(B Sieve
\e$B%9%/%j%W%H$r4IM}$9$k
\e(B
90 * Examples :: Sieve
\e$B%3!<%I$NJRNZ
\e(B
91 * Manage Sieve API ::
\e$B!V
\e(BSieve-
\e$B4IM}!W%W%m%H%3%k
\e(B API
\e$B$N%$%s%?!<%U%'!<%9
\e(B
92 * Standards::
\e$B;H$o$l$F$$$k
\e(B RFC
\e$B$H:n6HJ8=q$N35N,
\e(B
93 * Index::
\e$B4X?t$*$h$SJQ?t$N:w0z
\e(B
97 @chapter
\e$B%$%s%9%H!<%k
\e(B
101 Sieve
\e$B%Q%C%1!<%8$O$"$J$?$N
\e(B Emacs
\e$B$NHG$KIUB0$7$F$$$F!"$9$0$K;H$($k$h$&$K
\e(B
102 \e$B$J$C$F$$$k$O$:$G$9!#
\e(B
104 \e$B$=$&$J$C$F$$$J$$$N$G$"$l$P!"$3$N%Q%C%1!<%8$r<j:n6H$G@_Dj$9$k$?$a$K!"0J2<
\e(B
105 \e$B$N%3%^%s%I$r
\e(B @code{~/.emacs}
\e$B%U%!%$%k$K=q$-9~$s$G2<$5$$
\e(B:
108 (autoload 'sieve-mode "sieve-mode")
111 (setq auto-mode-alist (cons '("\\.s\\(v\\|iv\\|ieve\\)\\'" . sieve-mode)
116 @chapter Sieve
\e$B%b!<%I
\e(B
118 Sieve
\e$B%b!<%I$O!"9=J8$K4p$E$$$?%$%s%G%s%H!"
\e(Bfont-lock
\e$B$N%5%]!<%H!"$*$h
\e(B
119 \e$B$S
\e(B Sieve
\e$B%9%/%j%W%H$r3Z$KJT=8$G$-$k$h$&$K$9$k$?$a$N$=$NB>$NJXMx$J5!G=$r
\e(B
122 \e$B$3$N%a%8%c!<%b!<%I$K@Z$jBX$($k$K$O
\e(B @samp{M-x sieve-mode}
\e$B$r;H$C$F2<$5$$!#
\e(B
123 \e$B$3$N%3%^%s%I$O
\e(B @code{sieve-mode-hook}
\e$B$GM?$($i$l$?%U%C%/$r<B9T$7$^$9!#
\e(B
125 @vindex sieve-mode-map
126 @vindex sieve-mode-syntax-table
127 Sieve
\e$B%b!<%I$O
\e(B @code{c-mode}
\e$B$+$iGI@8$7$F$$$F!"%3%a%s%H$N9=J80J30$O$H$F
\e(B
128 \e$B$b;w$F$$$^$9!#%$%s%G%s%H$r%+%9%?%^%$%:$9$kJQ?t$,$"$k$N$HF1MM$K!"%-!<%^%C
\e(B
129 \e$B%W
\e(B (@code{sieve-mode-map})
\e$B$O
\e(B @code{c-mode}
\e$B$N$b$N$r<u$17Q$.$^$9!#
\e(B
130 Sieve
\e$B%b!<%I$O@lMQ$NN,8lI=
\e(B (@code{sieve-mode-abbrev-table})
\e$B$H9=J8%F!<%V
\e(B
131 \e$B%k
\e(B (@code{sieve-mode-syntax-table})
\e$B$r;}$C$F$$$^$9!#
\e(B
133 \e$BJT=8$KLrN)$D4X?t$K2C$($F!"
\e(BSieve
\e$B%b!<%I$K$O
\e(B Sieve
\e$B%9%/%j%W%H$r1s3V4IM}$9
\e(B
134 \e$B$k$?$a$N%-!<@_Dj$b$"$j$^$9!#
\e(B@xref{Managing Sieve}.
140 @cindex manage remote sieve script
141 \e$B!V
\e(BSieve-
\e$B4IM}!W%W%m%H%3%k
\e(B (Managesieve protocol)
\e$B$r;H$C$F!"1s3V%5!<%P!<$K
\e(B
147 @cindex upload sieve script
148 \e$B8=:_@\B3$7$F$$$k%5!<%P!<$K
\e(B Sieve
\e$B%9%/%j%W%H$r%"%C%W%m!<%I$7$^$9!#
\e(B
152 @chapter Sieve
\e$B$N4IM}
\e(B
154 \e$B!V
\e(BSieve-
\e$B4IM}!W$O!"1s3V%5!<%P!<$K$"$k
\e(B Sieve
\e$B%9%/%j%W%H$rI=<($9$k$?$a$K;H
\e(B
155 \e$B$o$l$kFCJL$J%b!<%I$G$9!#$=$l$O
\e(B @kbd{M-x sieve-manage RET}
\e$B$G5/F0$7!"$=$N
\e(B
156 \e$B%5!<%P!<$K$*$1$k%f!<%6!<L>$H!"I,MW$J>l9g$K$O;q3J>ZL@=q
\e(B (credentials)
\e$B$N
\e(B
157 \e$BF~NO$r5a$a$^$9!#
\e(B
159 \e$B%5!<%P!<$H$N@\B3$K@.8y$9$k$H!"!V
\e(BSieve-
\e$B4IM}!W%P%C%U%!!<$K$O0J2<$N$h$&$J$b
\e(B
160 \e$B$N$,I=<($5$l$^$9
\e(B:
163 Server : mailserver:2000
165 2 scripts on server, press RET on a script name edits it, or
166 press RET on <new script> to create a new script.
172 \e$B%9%/%j%W%H$N0l$D$,6/D4I=<($5$l!"I8=`$N%]%$%s%H0\F0%3%^%s%I
\e(B (@kbd{<up>},
173 @kbd{<down>}
\e$B$J$I
\e(B)
\e$B$G%j%9%HFb$r0\F0$9$k$3$H$,$G$-$^$9!#
\e(B
175 \e$B0J2<$N%3%^%s%I$,!V
\e(BSieve-
\e$B4IM}!W%P%C%U%!!<$GMxMQ2DG=$G$9
\e(B:
180 @findex sieve-activate
181 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r3h@-2=$7$^$9!#
\e(B
185 @findex sieve-deactivate
186 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
190 @findex sieve-deactivate-all
191 \e$B$9$Y$F$N%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
196 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r<h$j=|$-$^$9!#
\e(B
204 @findex sieve-edit-script
205 \e$B%5!<%P!<%P%C%U%!!<$r1#$7$F!"8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r
\e(B Sieve
\e$B%b!<
\e(B
206 \e$B%I
\e(B (@pxref{Sieve Mode})
\e$B$GJT=8$9$k$?$a$N?7$7$$%P%C%U%!!<$K%@%&%s%m!<%I$7
\e(B
211 @findex sieve-edit-script-other-window
212 Sieve
\e$B%b!<%I
\e(B (@pxref{Sieve Mode})
\e$B$GJT=8$9$k$?$a$K!"8=:_$N6/D4I=<($5$l$?
\e(B
213 \e$B%9%/%j%W%H$r4^$s$G$$$k?7$7$$%P%C%U%!!<$r!"JL%&%#%s%I%&$G:n@.$7$^$9!#
\e(B
217 @findex sieve-bury-buffer
218 \e$B@\B3$r@Z$i$:$K!V
\e(BSieve-
\e$B4IM}!W%P%C%U%!!<$r1#$7$^$9!#
\e(B
225 \e$B%_%K%P%C%U%!!<$K%X%k%W$rI=<($7$^$9!#
\e(B
231 Sieve
\e$B$r=OCN$7$F$$$J$$$J$i!"$3$N>O$K$[$s$N>/$7$@$1$"$k%3!<%I$NCGJR$rMxMQ
\e(B
232 \e$B$9$l$PNI$$$G$7$g$&!#
\e(BSieve
\e$B8@8l$G%<%m$+$i5,B'$r=q$/$3$H$,$b$C$H2wE,$K46$8
\e(B
233 \e$B$i$l$k$h$&$K$J$k$^$G$O!"$=$l$i$r%+%C%H!u%Z!<%9%H$7$F9%$-$J$h$&$KJQ99$7$F
\e(B
236 \e$B0J2<$N40A4$J
\e(B Sieve
\e$B%9%/%j%W%H$O!"9gCW$9$k
\e(B @samp{Sender:}
\e$B%X%C%@!<$r;}$D
\e(B
237 \e$B$9$Y$F$N%a%C%;!<%8$r!";XDj$5$l$?%a!<%k%\%C%/%9$K3JG<$7$^$9!#B?$/$N%a!<%j
\e(B
238 \e$B%s%0%j%9%H$,$3$N7A<0$r;H$C$F$$$^$9!#:G=i$N9T$O
\e(B Sieve
\e$B%5!<%P!<$,3N<B
\e(B
239 \e$B$K
\e(B @code{fileinto}
\e$B%3%^%s%I$rM}2r$G$-$k$h$&$K$9$k$?$a$N$b$N$G$9!#
\e(B
244 if address "sender" "owner-w3-beta@@xemacs.org" @{
245 fileinto "INBOX.w3-beta";
249 \e$B>/?t$N%a!<%j%s%0%j%9%H$O
\e(B @samp{Sender:}
\e$B%X%C%@!<$r;H$$$^$;$s$,!"JL$N%X%C
\e(B
250 \e$B%@!<$KFHFC$N<1JL;R$r4^$s$G$$$^$9!#0J2<$N%9%/%j%W%H$O40A4$G$O$J$/!"$9$G
\e(B
251 \e$B$K
\e(B @code{fileinto}
\e$B$,FI$_9~$^$l$F$$$k$3$H$r2>Dj$7$F$$$^$9!#
\e(B
254 if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
255 fileinto "INBOX.auc-tex";
259 \e$B:G8e$O!"$I$s$JFHFC$N<1JL;R$b;}$C$F$$$J$$@dK>E*$J%a!<%j%s%0%j%9%H$N$?$a$K!"
\e(B
260 @samp{To:}
\e$B$H
\e(B @samp{Cc}
\e$B%X%C%@!<$K$*$1$k9gCW$r6/$$$i$l$kNc$G$9!#A0$N$b$N
\e(B
261 \e$B$HF1MM$K!"$3$NCGJR$O
\e(B @code{fileinto}
\e$B$,FI$_9~$^$l$F$$$k$3$H$r2>Dj$7$F$$
\e(B
265 if address ["to", "cc"] "kerberos@@mit.edu" @{
266 fileinto "INBOX.kerberos";
270 @node Manage Sieve API
271 @chapter
\e$B!V
\e(BSieve-
\e$B4IM}!W$N
\e(B API
273 @file{sieve-manage.el}
\e$B%i%$%V%i%j!<$K$O
\e(B @sc{managesieve}
\e$B%W%m%H%3%k$G%5!<
\e(B
274 \e$B%P!<$HOC$9$?$a$N!"Dc3,AX$N4X?t72$,$"$j$^$9!#
\e(B
276 \e$B$$$/$D$+$N!"%f!<%6!<$,8+$k$3$H$,$G$-$kJQ?t$,$"$j!"$=$l$i$9$Y$F
\e(B
277 \e$B$O
\e(B @code{sieve}
\e$B%0%k!<%W$G%+%9%?%^%$%:$9$k$3$H$,$G$-$^$9
\e(B (@kbd{M-x
278 customize-group RET sieve RET}):
281 @item sieve-manage-default-user
282 @vindex sieve-manage-default-user
283 \e$B%G%#%U%)%k%H$N%f!<%6!<L>$r@_Dj$7$^$9!#
\e(B
285 @item sieve-manage-default-port
286 @vindex sieve-manage-default-port
287 \e$B;EMM$9$k%G%#%U%)%k%H$N%]!<%H$r@_Dj$7$^$9!#Ds0F$5$l$F$$$k%]!<%HHV9f
\e(B
288 \e$B$O
\e(B @code{2000}
\e$B$G$9!#
\e(B
290 @item sieve-manage-log
291 @vindex sieve-manage-log
292 \e$BHs
\e(B-@code{nil}
\e$B$@$C$?$i!"$d$j<h$j$7$?%W%m%H%3%k$N7k2L$,5-O?$5$l$k%P%C%U%!!<
\e(B
293 \e$BL>$NJ8;zNs$G$J$1$l$P$J$j$^$;$s
\e(B (
\e$B%G%P%C%0$9$k$H$-$K;H$$$^$9
\e(B)
\e$B!#
\e(B
296 API
\e$B$N4X?t$K$O0J2<$N$b$N$,$"$j$^$9
\e(B:
299 @item sieve-manage-open
300 @findex sieve-manage-open
301 \e$B!V
\e(BSieve-
\e$B4IM}!W%5!<%P!<$K@\B3$7!"B>$N$9$Y$F$N
\e(B API
\e$B$G;H$&%P%C%U%!!<$rJV$7
\e(B
304 @item sieve-manage-opened
305 @findex sieve-manage-opened
306 \e$B%5!<%P!<$H@\B3$7$F$$$k$+H]$+$r8!::$7$^$9!#
\e(B
308 @item sieve-manage-close
309 @findex sieve-manage-close
310 \e$B%5!<%P!<$H$N@\B3$rJD$8$^$9!#
\e(B
312 @item sieve-manage-authenticate
313 @findex sieve-manage-authenticate
314 \e$B%5!<%P!<$rG'>Z$7$^$9!#
\e(B
316 @item sieve-manage-capability
317 @findex sieve-manage-capability
318 \e$B%5!<%P!<$,%5%]!<%H$7$F$$$k5!G=$N%j%9%H$rJV$7$^$9!#
\e(B
320 @item sieve-manage-listscripts
321 @findex sieve-manage-listscripts
322 \e$B%5!<%P!<$K$"$k%9%/%j%W%H$rNs5s$7$^$9!#
\e(B
324 @item sieve-manage-havespace
325 @findex sieve-manage-havespace
326 \e$BM?$($i$l$?%5%$%:$N%9%/%j%W%H$N$?$a$N6u$-$,$"$k>l9g$@$1!"Hs
\e(B-@code{nil}
\e$B$r
\e(B
329 @item sieve-manage-getscript
330 @findex sieve-manage-getscript
331 \e$B%5!<%P!<$+$i%9%/%j%W%H$r%@%&%s%m!<%I$7$^$9!#
\e(B
333 @item sieve-manage-putscript
334 @findex sieve-manage-putscript
335 \e$B%5!<%P!<$K%9%/%j%W%H$r%"%C%W%m!<%I$7$^$9!#
\e(B
337 @item sieve-manage-setactive
338 @findex sieve-manage-setactive
339 \e$B%5!<%P!<$K$"$k$I$N%9%/%j%W%H$,3h$-$F$$$k$O$:$G$"$k$+$r<($7$^$9!#
\e(B
343 @chapter
\e$BI8=`
\e(B
345 Emacs Sieve
\e$B%Q%C%1!<%8$O!">/$J$$$1$l$I$bA}Bg$9$k$3$H$,K>$^$l$k
\e(B RFC
\e$B72$*
\e(B
346 \e$B$h$SAp9FJ8=q$N!"$9$Y$F$^$?$O0lItJ,$r<BAu$7$^$9!#$3$N>O$G$O4XO"$9$k$b$N$r
\e(B
347 \e$BNs5s$7$^$9!#$=$l$i$O$9$Y$F
\e(B @uref{http://quimby.gnus.org/notes/}
\e$B$+$iF~<j
\e(B
348 \e$B$9$k$3$H$,$G$-$^$9!#
\e(B
352 Sieve:
\e$B%a!<%k_I2a8@8l
\e(B
354 @item draft-martin-managesieve-03
355 Sieve
\e$B%9%/%j%W%H$r1s3V4IM}$9$k$?$a$N%W%m%H%3%k
\e(B
367 @c coding: iso-2022-7bit
370 @c use-kuten-for-period: t
371 @c use-touten-for-comma: t