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!#!V
\e(BA GNU Manual
\e$B!W$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!V
\e(BEmacs manual
\e$B!W$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$B9`$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
71 @top Sieve Support for Emacs
73 \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
75 \e$B$3$l$O
\e(B Sieve
\e$B%b!<%I$H
\e(B Sieve
\e$B4IM}$N$?$a$N%f!<%6!<%:%^%K%e%"%k$H$7$F!"$*$h
\e(B
76 \e$B$S
\e(B @samp{sieve-manage}
\e$B%W%m%H%3%k$r07$&
\e(B Emacs Lisp API
\e$B$N$?$a$N%j%U%!%l
\e(B
77 \e$B%s%9%^%K%e%"%k$H$7$F3hMQ$5$l$k$3$H$r0U?^$7$F$$$^$9!#
\e(B
79 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
80 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
81 \e$B$J$$$N$G!"
\e(BRFC 3028
\e$B$O<j85$KCV$$$F$*$$$F2<$5$$!#
\e(B
83 \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
85 \e$BLuCm
\e(B: Sieve ==
\e$BdA
\e(B (
\e$B$U$k$$
\e(B)
88 * Installation::
\e$B$3$N%Q%C%1!<%8$r;H$&$?$a$N=`Hw
\e(B
89 * Sieve Mode:: Sieve
\e$B%9%/%j%W%H$NJT=8
\e(B
90 * Managing Sieve::
\e$B1s3V%5!<%P!<>e$N
\e(B Sieve
\e$B%9%/%j%W%H$N4IM}
\e(B
91 * Examples :: Sieve
\e$B%3!<%I$NJRNZ
\e(B
92 * Manage Sieve API :: Sieve
\e$B%W%m%H%3%k
\e(B API
\e$B$r4IM}$9$k%$%s%?!<%U%'!<%9
\e(B
93 * Standards::
\e$B;H$o$l$F$$$k
\e(B RFC
\e$B$H:n6HJ8=q$N35N,
\e(B
94 * Index::
\e$B4X?t$*$h$SJQ?t$N:w0z
\e(B
98 @chapter
\e$B%$%s%9%H!<%k
\e(B
102 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
103 \e$B$J$C$F$$$k$O$:$G$9!#
\e(B
105 \e$B$7$+$7!"$3$N%Q%C%1!<%8$r<j:n6H$G@_Dj$9$k$?$a$K!"0J2<$N%3%^%s%I
\e(B
106 \e$B$r
\e(B @code{~/.emacs}
\e$B%U%!%$%k$K=q$-9~$`$3$H$,$G$-$^$9
\e(B:
109 (autoload 'sieve-mode "sieve-mode")
112 (setq auto-mode-alist (cons '("\\.s\\(v\\|iv\\|ieve\\)\\'" . sieve-mode)
117 @chapter Sieve
\e$B%b!<%I
\e(B
119 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
120 \e$B$S
\e(B Sieve
\e$B%9%/%j%W%H$r3Z$KJT=8$G$-$k$h$&$K$9$k$?$a$NB>$NJXMx$J5!G=$rDs6!
\e(B
123 \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
124 \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
126 @vindex sieve-mode-map
127 @vindex sieve-mode-syntax-table
128 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
129 \e$B$b;w$F$$$^$9!#%$%s%G%s%H$r%+%9%?%^%$%:$9$kJQ?t$,$"$k$N$HF1MM$K!"%-!<%^%C
\e(B
130 \e$B%W
\e(B (@code{sieve-mode-map})
\e$B$O
\e(B @code{c-mode}
\e$B$r<u$17Q$.$^$9!#
\e(BSieve
\e$B%b!<%I
\e(B
131 \e$B$O@lMQ$NN,8lI=
\e(B (@code{sieve-mode-abbrev-table})
\e$B$H9=J8%F!<%V
\e(B
132 \e$B%k
\e(B (@code{sieve-mode-syntax-table})
\e$B$r;}$A$^$9!#
\e(B
134 \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
135 \e$B$k$?$a$N%-!<@_Dj$b$"$j$^$9!#
\e(B@xref{Managing Sieve}.
141 @cindex manage remote sieve script
142 Sieve
\e$B4IM}%W%m%H%3%k
\e(B (Managesieve protocol)
\e$B$r;H$C$F!"1s3V%5!<%P!<$K@\B3
\e(B
148 @cindex upload sieve script
149 \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
153 @chapter Sieve
\e$B$N4IM}
\e(B
155 \e$B!V
\e(BSieve
\e$B4IM}!W$O!"1s3V%5!<%P!<$G;H$&$3$H$,$G$-$k
\e(B Sieve
\e$B%9%/%j%W%H$rI=<(
\e(B
156 \e$B$9$k$?$a$K;H$o$l$kFCJL$J%b!<%I$G$9!#$=$l$O
\e(B @kbd{M-x sieve-manage RET}
\e$B$G
\e(B
157 \e$B5/F0$7!"$=$N%5!<%P!<$K$*$1$k%f!<%6!<L>$H!"I,MW$J>l9g$K$O;q3J>ZL@
\e(B
158 \e$B=q
\e(B (credentials)
\e$B$NF~NO$r5a$a$^$9!#
\e(B
160 \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$N
\e(B
161 \e$B$,I=<($5$l$^$9
\e(B:
164 Server : mailserver:2000
166 2 scripts on server, press RET on a script name edits it, or
167 press RET on <new script> to create a new script.
173 \e$B%9%/%j%W%H$N0l$D$,6/D4I=<($5$l!"I8=`$N%]%$%s%H0\F0%3%^%s%I
\e(B (@kbd{<up>},
174 @kbd{<down>}
\e$B$J$I
\e(B)
\e$B$G%j%9%HFb$r0\F0$9$k$3$H$,$G$-$^$9!#
\e(B
176 \e$B0J2<$N%3%^%s%I$,!V
\e(BSieve
\e$B4IM}!W%P%C%U%!$GMxMQ2DG=$G$9
\e(B:
181 @findex sieve-activate
182 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r3h@-2=$7$^$9!#
\e(B
186 @findex sieve-deactivate
187 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
191 @findex sieve-deactivate-all
192 \e$B$9$Y$F$N%9%/%j%W%H$rIT3h@-2=$7$^$9!#
\e(B
197 \e$B8=:_$N6/D4I=<($5$l$?%9%/%j%W%H$r<h$j=|$-$^$9!#
\e(B
205 @findex sieve-edit-script
207 \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
208 \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
213 @findex sieve-edit-script-other-window
214 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
215 \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
219 @findex sieve-bury-buffer
220 \e$B@\B3$r@Z$i$:$K!V
\e(BSieve
\e$B4IM}!W%P%C%U%!$r1#$7$^$9!#
\e(B
227 \e$B%_%K%P%C%U%!$K%X%k%W$rI=<($7$^$9!#
\e(B
233 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
234 \e$B$9$k$3$H$,$G$-$^$9!#
\e(BSieve
\e$B8@8l$G%<%m$+$i5,B'$r=q$/$3$H$,$b$C$H2wE,$K46$8
\e(B
235 \e$B$i$l$k$h$&$K$J$k$^$G$O!"$=$l$i$r%+%C%H!u%Z!<%9%H$7$F0U$N$^$^$KJQ99$7$F2<
\e(B
238 \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
239 \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
240 \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
241 \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
246 if address "sender" "owner-w3-beta@@xemacs.org" @{
247 fileinto "INBOX.w3-beta";
251 \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
252 \e$B%@!<$KFHFC$N<1JL;R$r4^$s$G$$$^$9!#0J2<$NIT40A4$J%9%/%j%W%H$O!"$9$G
\e(B
253 \e$B$K
\e(B @code{fileinto}
\e$B$,FI$_9~$^$l$F$$$k$3$H$r2>Dj$7$F$$$^$9!#
\e(B
256 if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
257 fileinto "INBOX.auc-tex";
261 \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
262 @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
263 \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
267 if address ["to", "cc"] "kerberos@@mit.edu" @{
268 fileinto "INBOX.kerberos";
272 @node Manage Sieve API
273 @chapter Sieve
\e$B4IM}
\e(B API
275 @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
276 \e$B%P!<$HOC$9$?$a$N!"Dc3,AX$N4X?t72$,$"$j$^$9!#
\e(B
278 \e$B$$$/$D$+$N!"%f!<%6!<$,8+$k$3$H$,$G$-$kJQ?t$,$"$j!"$=$l$i$9$Y$F
\e(B
279 \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
280 customize-group RET sieve RET}):
283 @item sieve-manage-default-user
284 @vindex sieve-manage-default-user
285 \e$B%G%#%U%)%k%H$N%f!<%6!<L>$r@_Dj$7$^$9!#
\e(B
287 @item sieve-manage-default-port
288 @vindex sieve-manage-default-port
289 \e$B;EMM$9$k%G%#%U%)%k%H$N%]!<%H$r@_Dj$7$^$9!#Ds0F$5$l$F$$$k%]!<%HHV9f
\e(B
290 \e$B$O
\e(B @code{2000}
\e$B$G$9!#
\e(B
292 @item sieve-manage-log
293 @vindex sieve-manage-log
294 \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
295 \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
298 API
\e$B$N4X?t$K$O0J2<$N$b$N$,$"$j$^$9
\e(B:
301 @item sieve-manage-open
302 @findex sieve-manage-open
303 Sieve
\e$B4IM}%5!<%P!<$K@\B3$7!"B>$N$9$Y$F$N
\e(B API
\e$B$G;H$&%P%C%U%!$rJV$7$^$9!#
\e(B
305 @item sieve-manage-opened
306 @findex sieve-manage-opened
307 \e$B%5!<%P!<$H@\B3$7$F$$$k$+H]$+$r8!::$7$^$9!#
\e(B
309 @item sieve-manage-close
310 @findex sieve-manage-close
311 \e$B%5!<%P!<$H$N@\B3$rJD$8$^$9!#
\e(B
313 @item sieve-manage-authenticate
314 @findex sieve-manage-authenticate
315 \e$B%5!<%P!<$rG'>Z$7$^$9!#
\e(B
317 @item sieve-manage-capability
318 @findex sieve-manage-capability
319 \e$B%5!<%P!<$,%5%]!<%H$7$F$$$k5!G=$N%j%9%H$rJV$7$^$9!#
\e(B
321 @item sieve-manage-listscripts
322 @findex sieve-manage-listscripts
323 \e$B%5!<%P!<$K$"$k%9%/%j%W%H$rNs5s$7$^$9!#
\e(B
325 @item sieve-manage-havespace
326 @findex sieve-manage-havespace
327 \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
330 @item sieve-manage-getscript
331 @findex sieve-manage-getscript
332 \e$B%5!<%P!<$+$i%9%/%j%W%H$r%@%&%s%m!<%I$7$^$9!#
\e(B
334 @item sieve-manage-putscript
335 @findex sieve-manage-putscript
336 \e$B%5!<%P!<$K%9%/%j%W%H$r%"%C%W%m!<%I$7$^$9!#
\e(B
338 @item sieve-manage-setactive
339 @findex sieve-manage-setactive
340 \e$B%5!<%P!<$K$"$k$I$N%9%/%j%W%H$,3h$-$F$$$k$+$r<($7$^$9!#
\e(B
344 @chapter
\e$BI8=`
\e(B
346 Emacs Sieve
\e$B%Q%C%1!<%8$O!">/$J$$$,A}Bg$9$k$3$H$,K>$^$l$k
\e(B RFC
\e$B72$*$h$SAp
\e(B
347 \e$B9FJ8=q$N!"$9$Y$F$^$?$OItJ,$r<BAu$7$^$9!#$3$N>O$G$O4XO"$9$k$b$N$rNs5s$7$^
\e(B
348 \e$B$9!#$=$l$i$O$9$Y$F
\e(B @uref{http://quimby.gnus.org/notes/}
\e$B$+$iF~<j$9$k$3$H
\e(B
353 Sieve:
\e$B%a!<%k_I2a8@8l
\e(B
355 @item draft-martin-managesieve-03
356 Sieve
\e$B%9%/%j%W%H$r1s3V4IM}$9$k$?$a$N%W%m%H%3%k
\e(B
368 @c coding: iso-2022-7bit
371 @c use-kuten-for-period: t
372 @c use-touten-for-comma: t