New Features in Exim
This file contains descriptions of new features that have been
added to Exim, but have not yet made it into the main manual
(which is most conveniently updated when there is a relatively
large batch of changes). The ChangeLog file contains a brief
listing of all changes, including bug fixes.
When the manual is up-to-date with the code and there have been
a lot of recent changes, the more important ones may be listed
here for convenient reference. Otherwise this file will contain
just these two introductory paragraphs.
Version 1.90: Short list of some of the new things
- New expansion operators ${local_part:}, ${domain:}, and
${hash__:} and the "extract" operator has been extended to a new
form: ${extract {number} {separators} {string}}.
- There's a new testing option -bh which must be followed by an IP address.
This runs a fake SMTP session as if from that IP address, using stdin and
stdout. Additional comments as to what is going on are written to stderr. These
include lines beginning with "LOG" for anything that would have been logged.
This facility is for testing configuration options for blocking hosts and/or
senders and for checking on relaying control.
- If there is only a single recipient address in an incoming message, then
when the Received: header line is being built, the expansion variable
$received_for is set to contain that address. Otherwise that variable is always
empty. The default setting of received_header_text has been changed to include
the use of this new variable when set.
- The filtering facilities now include 10 variables with names n0 - n9. These
start out at zero and can be incremented by the "add" command. After the system
filter has run, a copy of the variables is taken, and made available in user
filters as the expansions $sn0 - $sn9. Thus a system filter can, for example,
do "scoring" which users' filters can make use of.
- The freeze and fail filter commands can now be followed by the word "text"
and a string giving an error message.
- The amount of disc space available is checked whenever SIZE is received on
a MAIL FROM command.
- There is a facility for looping through a list of addresses in mail
filters. It uses a new "foranyaddress" condition.
- A facility for local "shadow transports" has been added. This is somewhat
experimental and may change in future.
- There is a new defaulting option that can be used with single-key search
types. If the type name is followed by "*@" (e.g. lsearch*@) then, if the
initial lookup fails and the key contains an @ character, a second lookup is
done with everything before the last @ replaced by *.
- Directors and routers now have generic options headers_add and
headers_remove.
- If an SMTP greeting line contains ESMTP, Exim now sends EHLO instead of
HELO, and if it is told the SIZE parameter is supported, it adds SIZE=xxx to
each MAIL FROM command.
- Customization of error messages generated by Exim is now supported.
- Delivery failure messages now contain an X-Failed-Recipients header,
listing all failed addresses, for the benefit of programs that try to analyse
such messages automatically.
- If /dev/null is generated by an aliasfile or forwardfile, arrange to skip
its delivery at top level, thus avoiding the need for a uid/gid on the
transport.
- When a delivery is not part of a queue run (typically an immediate delivery
on receipt of a message), the directors are always run for local addresses, and
local deliveries are always attempted, even if retry times are set for them.
- The smtp_etrn_serialize option (default TRUE) prevents the simultaneous
execution of more than one queue run for the same argument string as a result
of an ETRN command.
- The "errors_to" option is now a generic option that is available for all
directors and routers, instead of just aliasfile and forwardfile.
- For sendmail compatibility, if an incoming, non-smtp message has a From:
header containing just the unqualified login id of the calling user, stick it
in angle brackets, with the gecos field in front.
- There's a new variable called sender_rcvhost, for use in Received headers,
to allow them easily to be strictly compatible with RFC 822. The default header
now uses it.
- The domainlist router has a option called host_find_failed, which tells it
what to do if a host which it tries to look up does not exist.
- Several new rewrite flags have been added.
- Alias files can now contain the items :defer: and :fail:.
- Support for LDAP.
End
Nigel Metheringham
$Id: NewStuff.html,v 1.2 2000/04/09 22:02:32 nigel Exp $