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 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-capability
305 @findex sieve-manage-capability
306 \e$B%5!<%P!<$,%5%]!<%H$7$F$$$k5!G=$N%j%9%H$rJV$7$^$9!#
\e(B
308 @item sieve-manage-listscripts
309 @findex sieve-manage-listscripts
310 \e$B%5!<%P!<$K$"$k%9%/%j%W%H$rNs5s$7$^$9!#
\e(B
312 @item sieve-manage-havespace
313 @findex sieve-manage-havespace
314 \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
317 @item sieve-manage-getscript
318 @findex sieve-manage-getscript
319 \e$B%5!<%P!<$+$i%9%/%j%W%H$r%@%&%s%m!<%I$7$^$9!#
\e(B
321 @item sieve-manage-putscript
322 @findex sieve-manage-putscript
323 \e$B%5!<%P!<$K%9%/%j%W%H$r%"%C%W%m!<%I$7$^$9!#
\e(B
325 @item sieve-manage-setactive
326 @findex sieve-manage-setactive
327 \e$B%5!<%P!<$K$"$k$I$N%9%/%j%W%H$,3h$-$F$$$k$O$:$G$"$k$+$r<($7$^$9!#
\e(B
331 @chapter
\e$BI8=`
\e(B
333 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
334 \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
335 \e$BNs5s$7$^$9!#$=$l$i$O$9$Y$F
\e(B @uref{http://quimby.gnus.org/notes/}
\e$B$+$iF~<j
\e(B
336 \e$B$9$k$3$H$,$G$-$^$9!#
\e(B
340 Sieve:
\e$B%a!<%k_I2a8@8l
\e(B
342 @item draft-martin-managesieve-03
343 Sieve
\e$B%9%/%j%W%H$r1s3V4IM}$9$k$?$a$N%W%m%H%3%k
\e(B
346 @node GNU Free Documentation License
347 @chapter GNU
\e$B%U%j!<J8=qMxMQ5vBz7@Ls=q
\e(B
349 \e$BLuCm
\e(B: @uref{http://www.opensource.jp/fdl/fdl.ja.html.euc-jp,
350 \e$BHs8x<0$JF|K\8lLu
\e(B}
\e$B$,$"$j$^$9!#
\e(B
352 @include doclicense.texi
361 @c coding: iso-2022-7bit
364 @c use-kuten-for-period: t
365 @c use-touten-for-comma: t