Updated documentation for 4.67.
[exim.git] / doc / doc-docbook / filter.xfpt
index c281d215f1dfb52b7b93a4515131eaa287caf12e..4c56cbdd1a4fd4db681deaf58044fd8c9359e201 100644 (file)
@@ -1,4 +1,4 @@
-. $Cambridge: exim/doc/doc-docbook/filter.xfpt,v 1.2 2006/04/04 14:03:49 ph10 Exp $
+. $Cambridge: exim/doc/doc-docbook/filter.xfpt,v 1.5 2007/04/11 15:26:09 ph10 Exp $
 
 . /////////////////////////////////////////////////////////////////////////////
 . This is the primary source of the document that describes Exim's filtering
 .include stdflags
 .include stdmacs
 .docbook
+
+. /////////////////////////////////////////////////////////////////////////////
+. These lines are processing instructions for the Simple DocBook Processor that
+. Philip Hazel has developed as a less cumbersome way of making PostScript and
+. PDFs than using xmlto and fop. They will be ignored by all other XML
+. processors.
+. /////////////////////////////////////////////////////////////////////////////
+
+.literal xml
+<?sdop
+  foot_right_recto="&chaptertitle;"
+  foot_right_verso="&chaptertitle;"
+  table_warn_soft_overflow="no"
+  toc_chapter_blanks="yes,yes"
+  toc_title="Exim's interfaces to mail filtering"
+?>
+.literal off
+
 .book
 
 . ===========================================================================
 . ===========================================================================
 
 
+. /////////////////////////////////////////////////////////////////////////////
+. /////////////////////////////////////////////////////////////////////////////
+
 . This preliminary stuff creates a <bookinfo> entry in the XML. This is removed
 . when creating the PostScript/PDF output, because we do not want a full-blown
-. title page created for those versions. The stylesheet fudges up a title line
-. to replace the text "Table of contents". However, for the other forms of
-. output, the <bookinfo> element is retained and used.
+. title page created for those versions. When fop is being used to create
+. PS/PDF, the stylesheet fudges up a title line to replace the text "Table of
+. contents". When SDoP is being used, a processing instruction does this job.
+. For the other forms of output, the <bookinfo> element is retained and used.
 
 .literal xml
 <bookinfo>
 <title>Exim's interfaces to mail filtering</title>
 <titleabbrev>Exim filtering</titleabbrev>
-<date>04 April 2006</date>
+<date>31 July</date>
 <author><firstname>Philip</firstname><surname>Hazel</surname></author>
 <authorinitials>PH</authorinitials>
 <revhistory><revision>
-  <revnumber>4.61</revnumber>
-  <date>04 April 2006</date>
+  <revnumber>4.63</revnumber>
+  <date>31 July 2006</date>
   <authorinitials>PH</authorinitials>
 </revision></revhistory>
 <copyright><year>2006</year><holder>University of Cambridge</holder></copyright>
 </bookinfo>
 .literal off
 
+. /////////////////////////////////////////////////////////////////////////////
+. /////////////////////////////////////////////////////////////////////////////
+
 
 .chapter "Forwarding and filtering in Exim"
 This document describes the user interfaces to Exim's in-built mail filtering
-facilities, and is copyright &copy; University of Cambridge 2006. It
-corresponds to Exim version 4.61.
+facilities, and is copyright &copy; University of Cambridge 2007. It
+corresponds to Exim version 4.67.
 
 
 
@@ -248,11 +273,14 @@ this context as &"the specific implementation of Sieve for Exim"&.
 This chapter does not contain a description of Sieve, since that can be found
 in RFC 3028, which should be read in conjunction with these notes.
 
+.new
 The Exim Sieve implementation offers the core as defined by RFC 3028,
-comparison tests, the &*copy*&, &*envelope*&, &*fileinto*&, and &*vacation*&
-extensions, but not the &*reject*& extension. Exim does not support message
-delivery notifications (MDNs), so adding it just to the Sieve filter (as
-required for &*reject*&) makes little sense.
+comparison tests, the subaddress parameter, the &*copy*&, &*envelope*&,
+&*fileinto*&, &*notify*&, and &*vacation*& extensions, but not the &*reject*&
+extension. Exim does not support message delivery notifications (MDNs), so
+adding it just to the Sieve filter (as required for &*reject*&) makes little
+sense.
+.wen
 
 In order for Sieve to work properly in Exim, the system administrator needs to
 make some adjustments to the Exim configuration. These are described in the
@@ -824,12 +852,14 @@ message to be written to its argument file, provided they are different
 (duplicate &(save)& commands are ignored).
 
 If the file name does not start with a / character, the contents of the
-&$home$& variable are prepended, unless it is empty. In conventional
-configurations, this variable is normally set in a user filter to the user's
-home directory, but the system administrator may set it to some other path. In
-some configurations, &$home$& may be unset, in which case a non-absolute path
-name may be generated. Such configurations convert this to an absolute path
-when the delivery takes place. In a system filter, &$home$& is never set.
+&$home$& variable are prepended, unless it is empty, or the system
+administrator has disabled this feature. In conventional configurations, this
+variable is normally set in a user filter to the user's home directory, but the
+system administrator may set it to some other path. In some configurations,
+&$home$& may be unset, or prepending may be disabled, in which case a
+non-absolute path name may be generated. Such configurations convert this to an
+absolute path when the delivery takes place. In a system filter, &$home$& is
+never set.
 
 The user must of course have permission to write to the file, and the writing
 of the file takes place in a process that is running as the user, under the
@@ -1537,14 +1567,14 @@ foranyaddress $header_to:
 ( $thisaddress contains "$local_part$domain" ) and
 not foranyaddress $header_from:
 (
-$thisaddress contains "$local_partdomain" or
-$thisaddress contains "server" or
-$thisaddress contains "daemon" or
-$thisaddress contains "root" or
-$thisaddress contains "listserv" or
-$thisaddress contains "majordomo" or
-$thisaddress contains "-request" or
-$thisaddress matches  "^owner-[^]+"
+$thisaddress contains "$local_part@$domain" or
+$thisaddress contains "server@" or
+$thisaddress contains "daemon@" or
+$thisaddress contains "root@" or
+$thisaddress contains "listserv@" or
+$thisaddress contains "majordomo@" or
+$thisaddress contains "-request@" or
+$thisaddress matches  "^owner-[^@]+@"
 )
 .endd
 The variable &$local_part$& contains the local part of the mail address of