1 \input texinfo @c -*-texinfo-*-
4 @settitle Emacs Sieve Manual
9 @firstparagraphindent insert
13 This file documents the Emacs Sieve package.
15 Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
16 2009, 2010, 2011 Free Software Foundation, Inc.
19 Permission is granted to copy, distribute and/or modify this document
20 under the terms of the GNU Free Documentation License, Version 1.3 or
21 any later version published by the Free Software Foundation; with no
22 Invariant Sections, with the Front-Cover texts being ``A GNU Manual'',
23 and with the Back-Cover Texts as in (a) below. A copy of the license
24 is included in the section entitled ``GNU Free Documentation License''.
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.3
\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!V
\e(BGNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q!W$H$$$&>O$K4^$^$l$F$$$^$9!#
\e(B
32 (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and
33 modify this GNU manual. Buying copies from the FSF supports it in
34 developing GNU and promoting software freedom.''
36 (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$rJ#@=$7$?$jJQ99$9
\e(B
37 \e$B$k<+M3$,$"$j$^$9!#
\e(BFSF
\e$B$+$i$NJ#<L$N9XF~$O
\e(B GNU
\e$B$N3+H/$H%=%U%H%&%'%"$N<+M3
\e(B
38 \e$B$NB%?J$r;Y1g$7$^$9!#!W
\e(B
44 * Sieve-ja: (sieve-ja). Managing Sieve scripts in Emacs
50 @setchapternewpage odd
53 @title Emacs Sieve Manual
55 @author by Simon Josefsson
57 @vskip 0pt plus 1filll
65 @top Sieve Support for Emacs
67 \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
68 \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
69 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
71 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
72 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
73 \e$B$J$$$N$G!"
\e(BRFC 3028
\e$B$O<j85$KCV$$$F$*$$$F$/$@$5$$!#
\e(B
75 \e$BLuCm
\e(B: Sieve ==
\e$BdA
\e(B (
\e$B$U$k$$
\e(B)
82 * Installation::
\e$B$3$N%Q%C%1!<%8$r;H$&$?$a$N=`Hw
\e(B
83 * Sieve Mode:: Sieve
\e$B%9%/%j%W%H$NJT=8
\e(B
84 * Managing Sieve::
\e$B1s3V%5!<%P!<>e$N
\e(B Sieve
\e$B%9%/%j%W%H$r4IM}$9$k
\e(B
85 * Examples :: Sieve
\e$B%3!<%I$NJRNZ
\e(B
86 * 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
87 * Standards::
\e$B;H$o$l$F$$$k
\e(B RFC
\e$B$H:n6HJ8=q$N35N,
\e(B
88 * GNU Free Documentation License::
\e$B$3$NJ8=q$NMxMQ5vBz7@Ls=q
\e(B
89 * Index::
\e$B4X?t$*$h$SJQ?t$N:w0z
\e(B
93 @chapter
\e$B%$%s%9%H!<%k
\e(B
97 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
98 \e$B$J$C$F$$$k$O$:$G$9!#
\e(B
100 \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
101 \e$B$N%3%^%s%I$r
\e(B @code{~/.emacs}
\e$B%U%!%$%k$K=q$-9~$s$G$/$@$5$$
\e(B:
104 (autoload 'sieve-mode "sieve-mode")
107 (setq auto-mode-alist (cons '("\\.s\\(v\\|iv\\|ieve\\)\\'" . sieve-mode)
112 @chapter Sieve
\e$B%b!<%I
\e(B
114 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
115 \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
118 \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$F$/$@$5
\e(B
119 \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
121 @vindex sieve-mode-map
122 @vindex sieve-mode-syntax-table
123 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
124 \e$B$b;w$F$$$^$9!#%$%s%G%s%H$r%+%9%?%^%$%:$9$kJQ?t$,$"$k$N$HF1MM$K!"%-!<%^%C
\e(B
125 \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
126 Sieve
\e$B%b!<%I$O@lMQ$NN,8lI=
\e(B (@code{sieve-mode-abbrev-table})
\e$B$H9=J8%F!<%V
\e(B
127 \e$B%k
\e(B (@code{sieve-mode-syntax-table})
\e$B$r;}$C$F$$$^$9!#
\e(B
129 \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
130 \e$B$k$?$a$N%-!<@_Dj$b$"$j$^$9!#
\e(B@xref{Managing Sieve}.
136 @cindex manage remote sieve script
137 \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
143 @cindex upload sieve script
144 \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
148 @chapter Sieve
\e$B$N4IM}
\e(B
150 \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
151 \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
152 \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
153 \e$BF~NO$r5a$a$^$9!#
\e(B
155 \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
156 \e$B$N$,I=<($5$l$^$9
\e(B:
159 Server : mailserver:2000
161 2 scripts on server, press RET on a script name edits it, or
162 press RET on <new script> to create a new script.
168 \e$B%9%/%j%W%H$N0l$D$,6/D4I=<($5$l!"I8=`$N%]%$%s%H0\F0%3%^%s%I
\e(B (@kbd{<up>},
169 @kbd{<down>}
\e$B$J$I
\e(B)
\e$B$G%j%9%HFb$r0\F0$9$k$3$H$,$G$-$^$9!#
\e(B
171 \e$B0J2<$N%3%^%s%I$,!V
\e(BSieve-
\e$B4IM}!W%P%C%U%!!<$GMxMQ2DG=$G$9
\e(B:
176 @findex sieve-activate
177 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r3h@-2=$7$^$9!#
\e(B
181 @findex sieve-deactivate
182 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
186 @findex sieve-deactivate-all
187 \e$B$9$Y$F$N%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
192 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r<h$j=|$-$^$9!#
\e(B
200 @findex sieve-edit-script
201 \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
202 \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
207 @findex sieve-edit-script-other-window
208 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
209 \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
213 @findex sieve-bury-buffer
214 \e$B@\B3$r@Z$i$:$K!V
\e(BSieve-
\e$B4IM}!W%P%C%U%!!<$r1#$7$^$9!#
\e(B
221 \e$B%_%K%P%C%U%!!<$K%X%k%W$rI=<($7$^$9!#
\e(B
227 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
228 \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
229 \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
232 \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
233 \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
234 \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
235 \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
240 if address "sender" "owner-w3-beta@@xemacs.org" @{
241 fileinto "INBOX.w3-beta";
245 \e$B>/?t$N%a!<%j%s%0%j%9%H$O
\e(B @samp{Sender:}
\e$B%X%C%@!<$r;H$$$^$;$s$,!"$"$kJL$N
\e(B
246 \e$B%X%C%@!<$KFHFC$N<1JL;R$,$"$j$^$9!#0J2<$N%9%/%j%W%H$O40A4$G$O$J$/!"$9$G
\e(B
247 \e$B$K
\e(B @code{fileinto}
\e$B$,FI$_9~$^$l$F$$$k$3$H$r2>Dj$7$F$$$^$9!#
\e(B
250 if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
251 fileinto "INBOX.auc-tex";
255 \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
256 @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
257 \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
261 if address ["to", "cc"] "kerberos@@mit.edu" @{
262 fileinto "INBOX.kerberos";
266 @node Manage Sieve API
267 @chapter
\e$B!V
\e(BSieve-
\e$B4IM}!W$N
\e(B API
269 @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
270 \e$B%P!<$HOC$9$?$a$N!"Dc3,AX$N4X?t72$,$"$j$^$9!#
\e(B
272 \e$B$$$/$D$+$N!"%f!<%6!<$,8+$k$3$H$,$G$-$kJQ?t$,$"$j!"$=$l$i$9$Y$F
\e(B
273 \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
274 customize-group RET sieve RET}):
277 @item sieve-manage-default-port
278 @vindex sieve-manage-default-port
279 \e$B;EMM$9$k%G%#%U%)%k%H$N%]!<%H$r@_Dj$7$^$9!#Ds0F$5$l$F$$$k%]!<%HHV9f
\e(B
280 \e$B$O
\e(B @code{2000}
\e$B$G$9!#
\e(B
282 @item sieve-manage-log
283 @vindex sieve-manage-log
284 \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
285 \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
288 API
\e$B$N4X?t$K$O0J2<$N$b$N$,$"$j$^$9
\e(B:
291 @item sieve-manage-open
292 @findex sieve-manage-open
293 \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
296 @item sieve-manage-opened
297 @findex sieve-manage-opened
298 \e$B%5!<%P!<$H@\B3$7$F$$$k$+H]$+$r8!::$7$^$9!#
\e(B
300 @item sieve-manage-close
301 @findex sieve-manage-close
302 \e$B%5!<%P!<$H$N@\B3$rJD$8$^$9!#
\e(B
304 @item sieve-manage-authenticate
305 @findex sieve-manage-authenticate
306 \e$B%5!<%P!<$NG'>Z$r<u$1$^$9!#
\e(B
308 @item sieve-manage-capability
309 @findex sieve-manage-capability
310 \e$B%5!<%P!<$,%5%]!<%H$7$F$$$k5!G=$N%j%9%H$rJV$7$^$9!#
\e(B
312 @item sieve-manage-listscripts
313 @findex sieve-manage-listscripts
314 \e$B%5!<%P!<$K$"$k%9%/%j%W%H$rNs5s$7$^$9!#
\e(B
316 @item sieve-manage-havespace
317 @findex sieve-manage-havespace
318 \e$BM?$($i$l$?%5%$%:$N%9%/%j%W%H$N$?$a$N6u$-$,$"$l$P!"Hs
\e(B-@code{nil}
\e$B$rJV$7$^
\e(B
321 @item sieve-manage-getscript
322 @findex sieve-manage-getscript
323 \e$B%5!<%P!<$+$i%9%/%j%W%H$r%@%&%s%m!<%I$7$^$9!#
\e(B
325 @item sieve-manage-putscript
326 @findex sieve-manage-putscript
327 \e$B%5!<%P!<$K%9%/%j%W%H$r%"%C%W%m!<%I$7$^$9!#
\e(B
329 @item sieve-manage-setactive
330 @findex sieve-manage-setactive
331 \e$B%5!<%P!<$K$"$k$I$N%9%/%j%W%H$,3h$-$F$$$k$O$:$G$"$k$+$r<($7$^$9!#
\e(B
335 @chapter
\e$BI8=`
\e(B
337 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
338 \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
339 \e$BNs5s$7$^$9!#$=$l$i$O$9$Y$F
\e(B @uref{http://quimby.gnus.org/notes/}
\e$B$+$iF~<j
\e(B
340 \e$B$9$k$3$H$,$G$-$^$9!#
\e(B
344 Sieve:
\e$B%a!<%k_I2a8@8l
\e(B
346 @item draft-martin-managesieve-03
347 Sieve
\e$B%9%/%j%W%H$r1s3V4IM}$9$k$?$a$N%W%m%H%3%k
\e(B
350 @node GNU Free Documentation License
351 @chapter GNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q
\e(B
353 \e$BLuCm
\e(B: @uref{http://www.opensource.jp/fdl/fdl.ja.html.euc-jp,
354 \e$BHs8x<0$JF|K\8lLu
\e(B}
\e$B$,$"$j$^$9!#
\e(B
356 @include doclicense.texi
365 @c coding: iso-2022-7bit
368 @c use-kuten-for-period: t
369 @c use-touten-for-comma: t