4 This patch is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This patch is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this patch; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
20 See docs/experimental-spec.txt
25 The original work for the patch was done by Philip Hazel in Exim 3
27 The extract was taken and re-applied to Exim 4 by the following :-
28 Phil Bingham (phil.bingham@cwipapps.net)
29 Steve Falla (steve.falla@cwipapps.net)
30 Ray Edah (ray.edah@cwipapps.net)
31 Andrew Johnson (andrew.johnson@cwippaps.net)
32 Adrian Hungate (adrian.hungate@cwipapps.net)
34 Now Primarily maintained by :-
35 Andrew Johnson (andrew.johnson@cwippaps.net)
37 Updated for 4.82, improved and submitted to
38 http://bugs.exim.org/show_bug.cgi?id=118
40 Wolfgang Breyha (wbreyha@gmx.net)
44 Andrey J. Melnikoff (TEMHOTA) (temnota@kmv.ru)
49 14-Apr-2006 : Changed subject to "Delivery Status Notification"
51 17-May-2006 : debug_printf in spool-in.c were not wrapped with #ifndef COMPILE_UTILITY
52 thanks to Andrey J. Melnikoff for this information
54 12-Sep-2006 : Now supports Exim 4.63
56 12-Sep-2006 : src/EDITME did not include the #define SUPPORT_DSN as stated
57 in the documentation, this has now been corrected
58 thanks to Robert Kehl for this information
60 28-Jul-2008 : New version for exim 4.69 released.
62 02-Jul-2010 : New version for exim 4.72 released.
64 25-Apr-2014 : Version 1.4
65 *) fix ENVID and ORCPT addition in SMTP transport
66 *) p was not moved to the end of the string. new content
67 added afterwards overwrites ENVID and/or ORCPT
68 *) change spool file format to be compatible with the
69 extensible format of exim 4 by prepending new values and
70 setting the extended bitmask accordingly
71 *) use SUPPORT_DSN_LEGACY=yes in Makefile to be able to read
72 the legacy format of older patches until all messages are out of queue.
73 *) change "dsn" boolean toggle to "dsn_advertise_hosts" to
74 be able to select who actually can use the extension
75 *) Add all RFC 3461 MUST fields to delivery-status section
76 *) convert xtext in ENVID
77 *) add all successful rcpts to ONE message instead of sending several messages
79 26-Apr-2014 : Version 1.5
81 *) fixed wrong order for ENVID
82 *) fixed wrong Final-Recipient value
83 *) af_ignore_failure is ignored for success reports
84 *) fixed DSN_LEGACY switch
86 *) added MIME "failure" reports
87 *) bounce_return_message is ignored (required by RFC)
88 *) in case RET= is defined we honor these values
89 otherwise bounce_return_body is honored.
90 *) bounce_return_size_limit is always honored.
91 *) message body intro and final text is ignored
92 *) do not send report if DSN flags say NO
93 *) added MIME "delay" reports
94 *) do not send report if DSN flags say NO
95 *) changed from SUPPORT_DSN to EXPERIMENTAL_DSN
96 *) updated documentation
98 01-May-2014 : Version 1.6
101 *) use text/rfc822-headers were applicable
102 *) fix NOTIFY=FAILURE
105 *) do not truncated MIME messages
106 *) if bounce_return_size_limit is smaller then the actual message
107 only the header is returned
108 *) if bounce_return_body or bounce_return_size_limit prevents Exim
109 from returning the requested (RET=FULL) body this fact is added
110 as X-Exim-DSN-Information Header
111 *) this also means that all of the last three parts of the "failure"
112 template are not used anymore
114 *) dsn_process switch removed
115 *) every router "processes" DSN by default
116 *) there is no possibilty to "gag" DSN anymore since this violates RFC
117 *) dsn_lasthop switch added for routers
118 *) if dsn_lasthop is set by a router it is handled as relaying to a
119 non DSN aware relay. success mails are sent if Exim successfully
120 delivers the message.
121 *) redirect routers always "act" as if dsn_lasthop is set
123 *) address_item.dsn_aware changed from uschar to int for easier handling.
126 *) Reporting-MTA: use smtp_active_hostname instead of qualify_domain from
130 *) removed support for EXPERIMENTAL_DSN_LEGACY for codebase inclusion
131 *) fixed build of exim_monitor tree
132 *) fixed late declaration of dsn_all_lasthop
136 Support for this patch up to 1.3 (limited though it is) will only be provided through the SourceForge
137 project page (http://sourceforge.net/projects/eximdsn/)
139 From 1.4 onward feel free to ask on the exim-users mailinglist or add comments to
140 http://bugs.exim.org/show_bug.cgi?id=118