1 \input texinfo @c -*-texinfo-*-
4 @settitle Emacs Sieve Manual
9 @firstparagraphindent insert
13 This file documents the Emacs Sieve package.
15 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
18 Permission is granted to copy, distribute and/or modify this document
19 under the terms of the GNU Free Documentation License, Version 1.2 or
20 any later version published by the Free Software Foundation; with no
21 Invariant Sections, with the Front-Cover texts being ``A GNU
22 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
23 license is included in the section entitled ``GNU Free Documentation
24 License'' in the Emacs manual.
26 \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
27 \e$BBh
\e(B 1.2
\e$BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9
\e(B
28 \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
29 \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
30 \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
33 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
34 this GNU Manual, like GNU software. Copies published by the Free
35 Software Foundation raise funds for GNU development.''
37 (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
38 \e$B$N$h$&$KJ#@=$7$?$jJQ99$9$k<+M3$,$"$j$^$9!#J#@=$O%U%j!<%=%U%H%&%'%":bCD$K
\e(B
39 \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
40 \e$B$J;q6b$r=8$a$F$$$^$9!#!W
\e(B
42 This document is part of a collection distributed under the GNU Free
43 Documentation License. If you want to distribute this document
44 separately from the collection, you can do so by adding a copy of the
45 license to the document, as described in section 6 of the license.
47 \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
48 \e$B$N0lIt$G$9!#$b$7$"$J$?$,$3$NJ8=q$r<}=8Cx:nJ*$+$iJ,N%$7$FG[I[$7$?$$$H$-$O!"
\e(B
49 \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
50 \e$B$K$h$C$F!"9T$J$&$3$H$,$G$-$^$9!#
\e(B
56 * Sieve-ja: (sieve-ja). Managing Sieve scripts in Emacs (Japanese).
61 @setchapternewpage odd
64 @title Emacs Sieve Manual
66 @author by Simon Josefsson
68 @vskip 0pt plus 1filll
73 @top Sieve Support for Emacs
75 \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
77 \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
78 \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
79 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
81 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
82 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
83 \e$B$J$$$N$G!"
\e(BRFC 3028
\e$B$O<j85$KCV$$$F$*$$$F2<$5$$!#
\e(B
85 \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
87 \e$BLuCm
\e(B: Sieve ==
\e$BdA
\e(B (
\e$B$U$k$$
\e(B)
90 * Installation::
\e$B$3$N%Q%C%1!<%8$r;H$&$?$a$N=`Hw
\e(B
91 * Sieve Mode:: Sieve
\e$B%9%/%j%W%H$NJT=8
\e(B
92 * Managing Sieve::
\e$B1s3V%5!<%P!<>e$N
\e(B Sieve
\e$B%9%/%j%W%H$r4IM}$9$k
\e(B
93 * Examples :: Sieve
\e$B%3!<%I$NJRNZ
\e(B
94 * 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
95 * Standards::
\e$B;H$o$l$F$$$k
\e(B RFC
\e$B$H:n6HJ8=q$N35N,
\e(B
96 * Index::
\e$B4X?t$*$h$SJQ?t$N:w0z
\e(B
100 @chapter
\e$B%$%s%9%H!<%k
\e(B
104 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
105 \e$B$J$C$F$$$k$O$:$G$9!#
\e(B
107 \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
108 \e$B$N%3%^%s%I$r
\e(B @code{~/.emacs}
\e$B%U%!%$%k$K=q$-9~$s$G2<$5$$
\e(B:
111 (autoload 'sieve-mode "sieve-mode")
114 (setq auto-mode-alist (cons '("\\.s\\(v\\|iv\\|ieve\\)\\'" . sieve-mode)
119 @chapter Sieve
\e$B%b!<%I
\e(B
121 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
122 \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
125 \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
126 \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
128 @vindex sieve-mode-map
129 @vindex sieve-mode-syntax-table
130 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
131 \e$B$b;w$F$$$^$9!#%$%s%G%s%H$r%+%9%?%^%$%:$9$kJQ?t$,$"$k$N$HF1MM$K!"%-!<%^%C
\e(B
132 \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
133 Sieve
\e$B%b!<%I$O@lMQ$NN,8lI=
\e(B (@code{sieve-mode-abbrev-table})
\e$B$H9=J8%F!<%V
\e(B
134 \e$B%k
\e(B (@code{sieve-mode-syntax-table})
\e$B$r;}$C$F$$$^$9!#
\e(B
136 \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
137 \e$B$k$?$a$N%-!<@_Dj$b$"$j$^$9!#
\e(B@xref{Managing Sieve}.
143 @cindex manage remote sieve script
144 \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
150 @cindex upload sieve script
151 \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
155 @chapter Sieve
\e$B$N4IM}
\e(B
157 \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
158 \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
159 \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
160 \e$BF~NO$r5a$a$^$9!#
\e(B
162 \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
163 \e$B$N$,I=<($5$l$^$9
\e(B:
166 Server : mailserver:2000
168 2 scripts on server, press RET on a script name edits it, or
169 press RET on <new script> to create a new script.
175 \e$B%9%/%j%W%H$N0l$D$,6/D4I=<($5$l!"I8=`$N%]%$%s%H0\F0%3%^%s%I
\e(B (@kbd{<up>},
176 @kbd{<down>}
\e$B$J$I
\e(B)
\e$B$G%j%9%HFb$r0\F0$9$k$3$H$,$G$-$^$9!#
\e(B
178 \e$B0J2<$N%3%^%s%I$,!V
\e(BSieve-
\e$B4IM}!W%P%C%U%!!<$GMxMQ2DG=$G$9
\e(B:
183 @findex sieve-activate
184 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r3h@-2=$7$^$9!#
\e(B
188 @findex sieve-deactivate
189 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
193 @findex sieve-deactivate-all
194 \e$B$9$Y$F$N%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
199 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r<h$j=|$-$^$9!#
\e(B
207 @findex sieve-edit-script
208 \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
209 \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
214 @findex sieve-edit-script-other-window
215 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
216 \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
220 @findex sieve-bury-buffer
221 \e$B@\B3$r@Z$i$:$K!V
\e(BSieve-
\e$B4IM}!W%P%C%U%!!<$r1#$7$^$9!#
\e(B
228 \e$B%_%K%P%C%U%!!<$K%X%k%W$rI=<($7$^$9!#
\e(B
234 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
235 \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
236 \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
239 \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
240 \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
241 \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
242 \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
247 if address "sender" "owner-w3-beta@@xemacs.org" @{
248 fileinto "INBOX.w3-beta";
252 \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
253 \e$B%@!<$KFHFC$N<1JL;R$r4^$s$G$$$^$9!#0J2<$N%9%/%j%W%H$O40A4$G$O$J$/!"$9$G
\e(B
254 \e$B$K
\e(B @code{fileinto}
\e$B$,FI$_9~$^$l$F$$$k$3$H$r2>Dj$7$F$$$^$9!#
\e(B
257 if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
258 fileinto "INBOX.auc-tex";
262 \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
263 @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
264 \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
268 if address ["to", "cc"] "kerberos@@mit.edu" @{
269 fileinto "INBOX.kerberos";
273 @node Manage Sieve API
274 @chapter
\e$B!V
\e(BSieve-
\e$B4IM}!W$N
\e(B API
276 @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
277 \e$B%P!<$HOC$9$?$a$N!"Dc3,AX$N4X?t72$,$"$j$^$9!#
\e(B
279 \e$B$$$/$D$+$N!"%f!<%6!<$,8+$k$3$H$,$G$-$kJQ?t$,$"$j!"$=$l$i$9$Y$F
\e(B
280 \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
281 customize-group RET sieve RET}):
284 @item sieve-manage-default-user
285 @vindex sieve-manage-default-user
286 \e$B%G%#%U%)%k%H$N%f!<%6!<L>$r@_Dj$7$^$9!#
\e(B
288 @item sieve-manage-default-port
289 @vindex sieve-manage-default-port
290 \e$B;EMM$9$k%G%#%U%)%k%H$N%]!<%H$r@_Dj$7$^$9!#Ds0F$5$l$F$$$k%]!<%HHV9f
\e(B
291 \e$B$O
\e(B @code{2000}
\e$B$G$9!#
\e(B
293 @item sieve-manage-log
294 @vindex sieve-manage-log
295 \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
296 \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
299 API
\e$B$N4X?t$K$O0J2<$N$b$N$,$"$j$^$9
\e(B:
302 @item sieve-manage-open
303 @findex sieve-manage-open
304 \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
307 @item sieve-manage-opened
308 @findex sieve-manage-opened
309 \e$B%5!<%P!<$H@\B3$7$F$$$k$+H]$+$r8!::$7$^$9!#
\e(B
311 @item sieve-manage-close
312 @findex sieve-manage-close
313 \e$B%5!<%P!<$H$N@\B3$rJD$8$^$9!#
\e(B
315 @item sieve-manage-authenticate
316 @findex sieve-manage-authenticate
317 \e$B%5!<%P!<$rG'>Z$7$^$9!#
\e(B
319 @item sieve-manage-capability
320 @findex sieve-manage-capability
321 \e$B%5!<%P!<$,%5%]!<%H$7$F$$$k5!G=$N%j%9%H$rJV$7$^$9!#
\e(B
323 @item sieve-manage-listscripts
324 @findex sieve-manage-listscripts
325 \e$B%5!<%P!<$K$"$k%9%/%j%W%H$rNs5s$7$^$9!#
\e(B
327 @item sieve-manage-havespace
328 @findex sieve-manage-havespace
329 \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
332 @item sieve-manage-getscript
333 @findex sieve-manage-getscript
334 \e$B%5!<%P!<$+$i%9%/%j%W%H$r%@%&%s%m!<%I$7$^$9!#
\e(B
336 @item sieve-manage-putscript
337 @findex sieve-manage-putscript
338 \e$B%5!<%P!<$K%9%/%j%W%H$r%"%C%W%m!<%I$7$^$9!#
\e(B
340 @item sieve-manage-setactive
341 @findex sieve-manage-setactive
342 \e$B%5!<%P!<$K$"$k$I$N%9%/%j%W%H$,3h$-$F$$$k$O$:$G$"$k$+$r<($7$^$9!#
\e(B
346 @chapter
\e$BI8=`
\e(B
348 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
349 \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
350 \e$BNs5s$7$^$9!#$=$l$i$O$9$Y$F
\e(B @uref{http://quimby.gnus.org/notes/}
\e$B$+$iF~<j
\e(B
351 \e$B$9$k$3$H$,$G$-$^$9!#
\e(B
355 Sieve:
\e$B%a!<%k_I2a8@8l
\e(B
357 @item draft-martin-managesieve-03
358 Sieve
\e$B%9%/%j%W%H$r1s3V4IM}$9$k$?$a$N%W%m%H%3%k
\e(B
370 @c coding: iso-2022-7bit
373 @c use-kuten-for-period: t
374 @c use-touten-for-comma: t