annotate man/sieve.texi @ 82970:5ef78f4dd84f

[ Merge from Emacs trunk: ] 2004-08-30 Juanma Barranquero <lektu@terra.es> * ietf-drums.el (ietf-drums-remove-whitespace): Fix character constant. [Emacs/trunk 2003-02-18] 2004-08-30 Andreas Schwab <schwab@suse.de> * nnlistserv.el (nnlistserv-kk-wash-article): Fix paren nesting. * gnus-score.el (gnus-summary-increase-score): Fix format string. [Emacs/trunk 2004-02-08] 2004-08-30 Stefan Monnier <monnier@iro.umontreal.ca> * nnimap.el (nnimap-demule): Avoid string-as-multibyte. [Emacs/trunk 2004-05-06] 2004-08-30 Kim F. Storm <storm@cua.dk> * nntp.el (nntp-authinfo-file): Add :group 'nntp. * nnimap.el (nnimap-authinfo-file, nnimap-prune-cache): Add :group 'nnimap. [Emacs/trunk 2004-06-29]
author Reiner Steib <Reiner.Steib@gmx.de>
date Mon, 30 Aug 2004 18:18:31 +0000
parents bb6c986199c4
children e88e622cd27a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
82955
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
2
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
3 @setfilename ../info/sieve
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
4 @settitle Emacs Sieve Manual
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
5 @synindex fn cp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
6 @synindex vr cp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
7 @synindex pg cp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
8 @dircategory Emacs
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
9 @direntry
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
10 * Sieve: (sieve). Managing Sieve scripts in Emacs.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
11 @end direntry
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
12 @iftex
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
13 @finalout
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
14 @end iftex
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
15 @setchapternewpage odd
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
16
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
17 @ifnottex
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
18
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
19 This file documents the Emacs Sieve package.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
20
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
21 Copyright (C) 2001 Free Software Foundation, Inc.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
22
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
23 Permission is granted to copy, distribute and/or modify this document
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
24 under the terms of the GNU Free Documentation License, Version 1.1 or
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
25 any later version published by the Free Software Foundation; with no
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
26 Invariant Sections, with the Front-Cover texts being ``A GNU
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
27 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
28 license is included in the section entitled ``GNU Free Documentation
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
29 License'' in the Emacs manual.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
30
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
31 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
32 this GNU Manual, like GNU software. Copies published by the Free
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
33 Software Foundation raise funds for GNU development.''
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
34
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
35 This document is part of a collection distributed under the GNU Free
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
36 Documentation License. If you want to distribute this document
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
37 separately from the collection, you can do so by adding a copy of the
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
38 license to the document, as described in section 6 of the license.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
39 @end ifnottex
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
40
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
41 @tex
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
42
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
43 @titlepage
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
44 @title Emacs Sieve Manual
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
45
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
46 @author by Simon Josefsson
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
47 @page
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
48
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
49 @vskip 0pt plus 1filll
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
50 Copyright @copyright{} 2001 Free Software Foundation, Inc.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
51
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
52 Permission is granted to copy, distribute and/or modify this document
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
53 under the terms of the GNU Free Documentation License, Version 1.1 or
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
54 any later version published by the Free Software Foundation; with the
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
55 Invariant Sections being none, with the Front-Cover texts being ``A GNU
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
56 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
57 license is included in the section entitled ``GNU Free Documentation
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
58 License'' in the Emacs manual.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
59
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
60 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
61 this GNU Manual, like GNU software. Copies published by the Free
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
62 Software Foundation raise funds for GNU development.''
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
63
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
64 This document is part of a collection distributed under the GNU Free
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
65 Documentation License. If you want to distribute this document
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
66 separately from the collection, you can do so by adding a copy of the
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
67 license to the document, as described in section 6 of the license.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
68 @end titlepage
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
69 @page
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
70
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
71 @end tex
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
72
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
73 @node Top
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
74 @top Sieve Support for Emacs
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
75
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
76 This manual documents the Emacs Sieve package.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
77
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
78 It is intended as a users manual for Sieve Mode and Manage Sieve, and
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
79 as a reference manual for the @samp{sieve-manage} protocol Emacs Lisp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
80 API.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
81
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
82 Sieve is a language for server-side filtering of mail. The language
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
83 is documented in RFC 3028. This manual does not attempt to document
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
84 the language, so keep RFC 3028 around.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
85
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
86 A good online Sieve resources is @uref{http://www.cyrusoft.com/sieve/}.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
87
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
88 @menu
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
89 * Installation:: Getting ready to use the package.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
90 * Sieve Mode:: Editing Sieve scripts.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
91 * Managing Sieve:: Managing Sieve scripts on a remote server.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
92 * Examples :: A few Sieve code snippets.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
93 * Manage Sieve API :: Interfacing to the Manage Sieve Protocol API.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
94 * Standards:: A summary of RFCs and working documents used.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
95 * Index:: Function and variable index.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
96 @end menu
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
97
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
98
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
99 @node Installation
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
100 @chapter Installation
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
101 @cindex Install
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
102 @cindex Setup
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
103
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
104 The Sieve package should come with your Emacs version, and should be
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
105 ready for use directly.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
106
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
107 However, to manually set up the package you can put the following
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
108 commands in your @code{~/.emacs}:
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
109
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
110 @lisp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
111 (autoload 'sieve-mode "sieve-mode")
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
112 @end lisp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
113 @lisp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
114 (setq auto-mode-alist (cons '("\\.s\\(v\\|iv\\|ieve\\)\\'" . sieve-mode)
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
115 auto-mode-alist))
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
116 @end lisp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
117
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
118
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
119 @node Sieve Mode
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
120 @chapter Sieve Mode
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
121
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
122 Sieve mode provides syntax-based indentation, font-locking support and
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
123 other handy functions to make editing Sieve scripts easier.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
124
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
125 Use @samp{M-x sieve-mode} to switch to this major mode. This command
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
126 runs the hook @code{sieve-mode-hook}.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
127
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
128 @vindex sieve-mode-map
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
129 @vindex sieve-mode-syntax-table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
130 Sieve mode is derived from @code{c-mode}, and is very similar except
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
131 for the syntax of comments. The keymap (@code{sieve-mode-map}) is
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
132 inherited from @code{c-mode}, as are the variables for customizing
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
133 indentation. Sieve mode has its own abbrev table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
134 (@code{sieve-mode-abbrev-table}) and syntax table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
135 (@code{sieve-mode-syntax-table}).
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
136
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
137 In addition to the editing utility functions, Sieve mode also contains
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
138 bindings to manage Sieve scripts remotely. @xref{Managing Sieve}.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
139
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
140 @table @kbd
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
141
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
142 @item C-c RET
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
143 @kindex C-c RET
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
144 @findex sieve-manage
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
145 @cindex manage remote sieve script
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
146 Open a connection to a remote server using the Managesieve protocol.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
147
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
148 @item C-c C-l
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
149 @kindex C-c C-l
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
150 @findex sieve-upload
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
151 @cindex upload sieve script
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
152 Upload the Sieve script to the currently open server.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
153
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
154 @end table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
155
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
156
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
157 @node Managing Sieve
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
158 @chapter Managing Sieve
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
159
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
160 Manage Sieve is a special mode used to display Sieve scripts available
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
161 on a remote server. It can be invoked with @kbd{M-x sieve-manage
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
162 RET}, which queries the user for a server and if necessary, user
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
163 credentials to use.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
164
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
165 When a server has been successfully contacted, the Manage Sieve buffer
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
166 looks something like:
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
167
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
168 @example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
169 Server : mailserver:2000
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
170
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
171 2 scripts on server, press RET on a script name edits it, or
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
172 press RET on <new script> to create a new script.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
173 <new script>
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
174 ACTIVE .sieve
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
175 template.siv
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
176 @end example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
177
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
178 One of the scripts are highlighted, and standard point navigation
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
179 commands (@kbd{<up>}, @kbd{<down>} etc) can be used to navigate the
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
180 list.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
181
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
182 The following commands are available in the Manage Sieve buffer:
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
183
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
184 @table @kbd
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
185
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
186 @item m
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
187 @kindex m
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
188 @findex sieve-activate
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
189 Activates the currently highlighted script.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
190
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
191 @item u
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
192 @kindex u
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
193 @findex sieve-deactivate
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
194 Deactivates the currently highlighted script.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
195
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
196 @item C-M-?
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
197 @kindex C-M-?
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
198 @findex sieve-deactivate-all
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
199 Deactivates all scripts.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
200
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
201 @item r
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
202 @kindex r
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
203 @findex sieve-remove
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
204 Remove currently highlighted script.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
205
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
206 @item RET
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
207 @item mouse-2
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
208 @item f
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
209 @kindex RET
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
210 @kindex mouse-2
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
211 @kindex f
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
212 @findex sieve-edit-script
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
213 Bury the server buffer and download the currently highlighted script
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
214 into a new buffer for editing in Sieve mode (@pxref{Sieve Mode}).
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
215
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
216 @item o
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
217 @kindex o
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
218 @findex sieve-edit-script-other-window
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
219 Create a new buffer in another window containing the currently
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
220 highlighted script for editing in Sieve mode (@pxref{Sieve Mode}).
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
221
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
222 @item q
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
223 @kindex q
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
224 @findex sieve-bury-buffer
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
225 Bury the Manage Sieve buffer without closing the connection.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
226
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
227 @item ?
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
228 @item h
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
229 @kindex ?
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
230 @kindex h
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
231 @findex sieve-help
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
232 Displays help in the minibuffer.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
233
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
234 @end table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
235
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
236 @node Examples
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
237 @chapter Examples
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
238
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
239 If you are not familiar with Sieve, this chapter contains a few simple
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
240 code snippets that you can cut'n'paste and modify at will, until you
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
241 feel more comfortable with the Sieve language to write the rules from
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
242 scratch.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
243
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
244 The following complete Sieve script places all messages with a matching
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
245 @samp{Sender:} header into the given mailbox. Many mailing lists uses
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
246 this format. The first line makes sure your Sieve server understands
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
247 the @code{fileinto} command.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
248
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
249 @example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
250 require "fileinto";
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
251
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
252 if address "sender" "owner-w3-beta@@xemacs.org" @{
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
253 fileinto "INBOX.w3-beta";
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
254 @}
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
255 @end example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
256
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
257 A few mailing lists do not use the @samp{Sender:} header, but does
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
258 contain some unique identifier in some other header. The following is
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
259 not a complete script, it assumes that @code{fileinto} has already been
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
260 required.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
261
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
262 @example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
263 if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
264 fileinto "INBOX.auc-tex";
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
265 @}
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
266 @end example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
267
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
268 At last, we have the hopeless mailing lists that does not have any
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
269 unique identifier and you are forced to match on the @samp{To:} and
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
270 @samp{Cc} headers. As before, this snippet assumes that @code{fileinto}
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
271 has been required.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
272
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
273 @example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
274 if address ["to", "cc"] "kerberos@@mit.edu" @{
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
275 fileinto "INBOX.kerberos";
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
276 @}
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
277 @end example
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
278
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
279 @node Manage Sieve API
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
280 @chapter Manage Sieve API
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
281
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
282 The @file{sieve-manage.el} library contains low-level functionality
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
283 for talking to a server with the @sc{managesieve} protocol.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
284
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
285 A number of user-visible variables exist, which all can be customized
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
286 in the @code{sieve} group (@kbd{M-x customize-group RET sieve RET}):
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
287
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
288 @table @code
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
289
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
290 @item sieve-manage-default-user
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
291 @vindex sieve-manage-default-user
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
292 Sets the default username.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
293
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
294 @item sieve-manage-default-port
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
295 @vindex sieve-manage-default-port
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
296 Sets the default port to use, the suggested port number is @code{2000}.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
297
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
298 @item sieve-manage-log
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
299 @vindex sieve-manage-log
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
300 If non-nil, should be a string naming a buffer where a protocol trace
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
301 is dumped (for debugging purposes).
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
302
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
303 @end table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
304
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
305 The API functions include:
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
306
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
307 @table @code
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
308
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
309 @item sieve-manage-open
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
310 @findex sieve-manage-open
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
311 Open connection to managesieve server, returning a buffer to be used
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
312 by all other API functions.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
313
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
314 @item sieve-manage-opened
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
315 @findex sieve-manage-opened
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
316 Check if a server is open or not.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
317
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
318 @item sieve-manage-close
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
319 @findex sieve-manage-close
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
320 Close a server connection.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
321
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
322 @item sieve-manage-authenticate
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
323 @findex sieve-manage-authenticate
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
324 Authenticate to the server.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
325
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
326 @item sieve-manage-capability
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
327 @findex sieve-manage-capability
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
328 Return a list of capabilities the server support.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
329
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
330 @item sieve-manage-listscripts
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
331 @findex sieve-manage-listscripts
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
332 List scripts on the server.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
333
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
334 @item sieve-manage-havespace
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
335 @findex sieve-manage-havespace
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
336 Returns non-nil iff server have roam for a script of given size.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
337
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
338 @item sieve-manage-getscript
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
339 @findex sieve-manage-getscript
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
340 Download script from server.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
341
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
342 @item sieve-manage-putscript
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
343 @findex sieve-manage-putscript
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
344 Upload script to server.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
345
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
346 @item sieve-manage-setactive
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
347 @findex sieve-manage-setactive
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
348 Indicate which script on the server should be active.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
349
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
350 @end table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
351
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
352 @node Standards
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
353 @chapter Standards
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
354
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
355 The Emacs Sieve package implements all or parts of a small but
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
356 hopefully growing number of RFCs and drafts documents. This chapter
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
357 lists the relevant ones. They can all be fetched from
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
358 @uref{http://quimby.gnus.org/notes/}.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
359
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
360 @table @dfn
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
361
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
362 @item RFC3028
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
363 Sieve: A Mail Filtering Language.
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
364
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
365 @item draft-martin-managesieve-03
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
366 A Protocol for Remotely Managing Sieve Scripts
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
367
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
368 @end table
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
369
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
370
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
371 @node Index
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
372 @chapter Index
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
373 @printindex cp
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
374
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
375 @summarycontents
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
376 @contents
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
377 @bye
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
378
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
379 @c End:
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
380
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
381 @ignore
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
382 arch-tag: 6e3ad0af-2eaf-4f35-a081-d40f4a683ec3
bb6c986199c4 Import from the v5_10 branch of the Gnus repository.
Reiner Steib <Reiner.Steib@gmx.de>
parents:
diff changeset
383 @end ignore