minor corrections
[exim-website.git] / NewStuff.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3   <head>
4     <title>New Features in Exim</title>
5   </head>
6
7   <body bgcolor="#FFFFFF" text="#00005A" link="#FF6600" alink="#FF9933" vlink="#990000">
8     <h1>New Features in Exim</h1>
9
10     <p>This file contains descriptions of new features that have been
11     added to Exim, but have not yet made it into the main manual
12     (which is most conveniently updated when there is a relatively
13     large batch of changes). The ChangeLog file contains a brief
14     listing of <b>all</b> changes, including bug fixes.</p>
15
16     <p>When the manual is up-to-date with the code and there have been
17     a lot of recent changes, the more important ones may be listed
18     here for convenient reference.  Otherwise this file will contain
19     just these two introductory paragraphs.</p>
20
21
22 <h2>Version 1.90: Short list of some of the new things</h2>
23 <ol>
24 <li> New expansion operators ${local_part:<string>}, ${domain:<string>}, and
25 ${hash_<n>_<m>:<string>} and the "extract" operator has been extended to a new
26 form: ${extract {number} {separators} {string}}.
27
28 <li> There's a new testing option -bh which must be followed by an IP address.
29 This runs a fake SMTP session as if from that IP address, using stdin and
30 stdout. Additional comments as to what is going on are written to stderr. These
31 include lines beginning with "LOG" for anything that would have been logged.
32 This facility is for testing configuration options for blocking hosts and/or
33 senders and for checking on relaying control.
34
35 <li> If there is only a single recipient address in an incoming message, then
36 when the Received: header line is being built, the expansion variable
37 $received_for is set to contain that address. Otherwise that variable is always
38 empty. The default setting of received_header_text has been changed to include
39 the use of this new variable when set.
40
41 <li> The filtering facilities now include 10 variables with names n0 - n9. These
42 start out at zero and can be incremented by the "add" command. After the system
43 filter has run, a copy of the variables is taken, and made available in user
44 filters as the expansions $sn0 - $sn9. Thus a system filter can, for example,
45 do "scoring" which users' filters can make use of.
46
47 <li> The freeze and fail filter commands can now be followed by the word "text"
48 and a string giving an error message.
49
50 <li> The amount of disc space available is checked whenever SIZE is received on
51 a MAIL FROM command.
52
53 <li> There is a facility for looping through a list of addresses in mail
54 filters. It uses a new "foranyaddress" condition.
55
56 <li> A facility for local "shadow transports" has been added. This is somewhat
57 experimental and may change in future.
58
59 <li> There is a new defaulting option that can be used with single-key search
60 types. If the type name is followed by "*@" (e.g. lsearch*@) then, if the
61 initial lookup fails and the key contains an @ character, a second lookup is
62 done with everything before the last @ replaced by *.
63
64 <li> Directors and routers now have generic options headers_add and
65 headers_remove.
66
67 <li> If an SMTP greeting line contains ESMTP, Exim now sends EHLO instead of
68 HELO, and if it is told the SIZE parameter is supported, it adds SIZE=xxx to
69 each MAIL FROM command.
70
71 <li> Customization of error messages generated by Exim is now supported.
72
73 <li> Delivery failure messages now contain an X-Failed-Recipients header,
74 listing all failed addresses, for the benefit of programs that try to analyse
75 such messages automatically.
76
77 <li> If /dev/null is generated by an aliasfile or forwardfile, arrange to skip
78 its delivery at top level, thus avoiding the need for a uid/gid on the
79 transport.
80
81 <li> When a delivery is not part of a queue run (typically an immediate delivery
82 on receipt of a message), the directors are always run for local addresses, and
83 local deliveries are always attempted, even if retry times are set for them.
84
85 <li> The smtp_etrn_serialize option (default TRUE) prevents the simultaneous
86 execution of more than one queue run for the same argument string as a result
87 of an ETRN command.
88
89 <li> The "errors_to" option is now a generic option that is available for all
90 directors and routers, instead of just aliasfile and forwardfile.
91
92 <li> For sendmail compatibility, if an incoming, non-smtp message has a From:
93 header containing just the unqualified login id of the calling user, stick it
94 in angle brackets, with the gecos field in front.
95
96 <li> There's a new variable called sender_rcvhost, for use in Received headers,
97 to allow them easily to be strictly compatible with RFC 822. The default header
98 now uses it.
99
100 <li> The domainlist router has a option called host_find_failed, which tells it
101 what to do if a host which it tries to look up does not exist.
102
103 <li> Several new rewrite flags have been added.
104
105 <li> Alias files can now contain the items :defer: and :fail:.
106
107 <li> Support for LDAP.
108 </ol>
109 <p>End</p>
110     <hr>
111     <address><a href="mailto:Postmaster@exim.org">Nigel Metheringham</a></address>
112 <!-- Created: Mon Aug 25 15:46:41 BST 1997 -->
113     <h4>$Id: NewStuff.html,v 1.2 2000/04/09 22:02:32 nigel Exp $</h4>
114   </body>
115 </html>