summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/doc-docbook/spec.xfpt2
-rw-r--r--src/src/deliver.c23
-rw-r--r--test/mail/0032.CALLER1
-rw-r--r--test/mail/0037.CALLER3
-rw-r--r--test/mail/0051.CALLER2
-rw-r--r--test/mail/0103.CALLER1
-rw-r--r--test/mail/0136.forwarder2
-rw-r--r--test/mail/0174.CALLER1
-rw-r--r--test/mail/0177.CALLER1
-rw-r--r--test/mail/0296.CALLER1
-rw-r--r--test/mail/0298.CALLER4
-rw-r--r--test/mail/0306.anyone2
-rw-r--r--test/mail/0307.anyone2
-rw-r--r--test/mail/0385.CALLER4
-rw-r--r--test/mail/0461.CALLER4
-rw-r--r--test/mail/0536.oksender1
-rw-r--r--test/mail/4620.CALLER1
-rw-r--r--test/mail/4620.fred[1
-rw-r--r--test/mail/5101.copied2
-rw-r--r--test/mail/5204.CALLER1
-rw-r--r--test/stdout/34121
21 files changed, 51 insertions, 9 deletions
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index 13991d5cd..85c6d3b3b 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -4020,7 +4020,7 @@ user.
This option requests Exim to give up trying to deliver the listed messages,
including any that are frozen. However, if any of the messages are active,
their status is not altered. For non-bounce messages, a delivery error message
-is sent to the sender, containing the text &"cancelled by administrator"&.
+is sent to the sender.
Bounce messages are just discarded. This option can be used only by an admin
user.
diff --git a/src/src/deliver.c b/src/src/deliver.c
index c9a1d074b..fa624f9de 100644
--- a/src/src/deliver.c
+++ b/src/src/deliver.c
@@ -5743,7 +5743,7 @@ wording. */
if (addr->return_file >= 0)
{
- paddr = &(addr->next);
+ paddr = &addr->next;
filecount++;
}
@@ -5850,6 +5850,9 @@ wording. */
for (address_item * addr = handled_addr; addr; addr = addr->next)
{
host_item * hu;
+#ifdef EXPERIMENTAL_DSN_INFO
+ const uschar * s;
+#endif
print_dsn_addr_action(fp, addr, US"failed", US"5.0.0");
@@ -5857,8 +5860,6 @@ wording. */
{
fprintf(fp, "Remote-MTA: dns; %s\n", hu->name);
#ifdef EXPERIMENTAL_DSN_INFO
- {
- const uschar * s;
if (hu->address)
{
uschar * p = hu->port == 25
@@ -5869,12 +5870,15 @@ wording. */
dsn_put_wrapped(fp, US"X-Remote-MTA-smtp-greeting: X-str; ", s);
if ((s = addr->helo_response) && *s)
dsn_put_wrapped(fp, US"X-Remote-MTA-helo-response: X-str; ", s);
- if ((s = addr->message) && *s)
+ if (testflag(addr, af_pass_message) && (s = addr->message) && *s)
dsn_put_wrapped(fp, US"X-Exim-Diagnostic: X-str; ", s);
- }
#endif
print_dsn_diagnostic_code(addr, fp);
}
+#ifdef EXPERIMENTAL_DSN_INFO
+ else if (testflag(addr, af_pass_message) && (s = addr->message) && *s)
+ dsn_put_wrapped(fp, US"X-Exim-Diagnostic: X-str; ", s);
+#endif
fputc('\n', fp);
}
@@ -7009,8 +7013,9 @@ if (process_recipients != RECIP_IGNORE)
for (i = 0; i < recipients_count; i++)
if (!tree_search(tree_nonrecipients, recipients_list[i].address))
{
- recipient_item *r = recipients_list + i;
- address_item *new = deliver_make_addr(r->address, FALSE);
+ recipient_item * r = recipients_list + i;
+ address_item * new = deliver_make_addr(r->address, FALSE);
+
new->prop.errors_address = r->errors_to;
#ifdef SUPPORT_I18N
if ((new->prop.utf8_msg = message_smtputf8))
@@ -7070,6 +7075,8 @@ if (process_recipients != RECIP_IGNORE)
case RECIP_FAIL:
new->message = US"delivery cancelled by administrator";
+ /* not setting af_pass_message here means that will not
+ appear in the bounce message */
/* Fall through */
/* Common code for the failure cases above. If this is not a bounce
@@ -7078,7 +7085,7 @@ if (process_recipients != RECIP_IGNORE)
The incident has already been logged. */
RECIP_QUEUE_FAILED:
- if (sender_address[0])
+ if (*sender_address)
{
new->next = addr_failed;
addr_failed = new;
diff --git a/test/mail/0032.CALLER b/test/mail/0032.CALLER
index 7065137b8..b37b412ee 100644
--- a/test/mail/0032.CALLER
+++ b/test/mail/0032.CALLER
@@ -36,6 +36,7 @@ Reporting-MTA: dns; myhost.ex
Action: failed
Final-Recipient: rfc822;userx@mxt1.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; lowest numbered MX record points to local host
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0037.CALLER b/test/mail/0037.CALLER
index c0348c457..0ac821a59 100644
--- a/test/mail/0037.CALLER
+++ b/test/mail/0037.CALLER
@@ -42,14 +42,17 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; subject was "should fail this" (filter fail)
Action: failed
Final-Recipient: rfc822;abcd@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; subject was "should fail this" (filter fail)
Action: failed
Final-Recipient: rfc822;usery@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; subject was "should fail this" (filter fail)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0051.CALLER b/test/mail/0051.CALLER
index b51ae1bc6..e966d88b5 100644
--- a/test/mail/0051.CALLER
+++ b/test/mail/0051.CALLER
@@ -92,6 +92,7 @@ Reporting-MTA: dns; myhost.ex
Action: failed
Final-Recipient: rfc822;userx@badbad.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; unrouteable mail domain "badbad.ex" (:fail:)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -204,6 +205,7 @@ Reporting-MTA: dns; myhost.ex
Action: failed
Final-Recipient: rfc822;userx@domain2.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; unrouteable mail domain "domain2.ex" (:fail:)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0103.CALLER b/test/mail/0103.CALLER
index 6c1d4b8c1..fc117ebda 100644
--- a/test/mail/0103.CALLER
+++ b/test/mail/0103.CALLER
@@ -87,6 +87,7 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;":fail: fail message"@special
Status: 5.0.0
+X-Exim-Diagnostic: X-str; fail message
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0136.forwarder b/test/mail/0136.forwarder
index 0a0f10801..b97fc6221 100644
--- a/test/mail/0136.forwarder
+++ b/test/mail/0136.forwarder
@@ -38,6 +38,7 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;forwarder@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; Address unknown (:fail:)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -96,6 +97,7 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;forwarder@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; Address unknown (:fail:)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: text/rfc822-headers
diff --git a/test/mail/0174.CALLER b/test/mail/0174.CALLER
index ad62b017a..c63bcb0b1 100644
--- a/test/mail/0174.CALLER
+++ b/test/mail/0174.CALLER
@@ -33,6 +33,7 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;userx@non-local.example
Status: 5.0.0
+X-Exim-Diagnostic: X-str; unrouteable mail domain "non-local.example" (:fail:)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0177.CALLER b/test/mail/0177.CALLER
index 087962bf1..3f4667a8b 100644
--- a/test/mail/0177.CALLER
+++ b/test/mail/0177.CALLER
@@ -33,6 +33,7 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; subject was "fail this" (filter fail)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0296.CALLER b/test/mail/0296.CALLER
index 5f03e6221..594155c7d 100644
--- a/test/mail/0296.CALLER
+++ b/test/mail/0296.CALLER
@@ -33,6 +33,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;failure@myhost.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; this message is a failure (filter fail)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0298.CALLER b/test/mail/0298.CALLER
index 422549f62..05dc46130 100644
--- a/test/mail/0298.CALLER
+++ b/test/mail/0298.CALLER
@@ -34,6 +34,9 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;failure1@myhost.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; This message is being failed and there's a long and
+ tortuous
+ explanation about is that is being sent back to the user.
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -86,6 +89,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;failure2@myhost.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; delivery cancelled
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0306.anyone b/test/mail/0306.anyone
index 67e5f59f5..d3d91c279 100644
--- a/test/mail/0306.anyone
+++ b/test/mail/0306.anyone
@@ -33,6 +33,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;list1@lists.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; list1@lists.test.ex is a closed mailing list
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -85,6 +86,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;nonlist@lists.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; nonlist@lists.test.ex is a closed mailing list
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0307.anyone b/test/mail/0307.anyone
index 67e5f59f5..d3d91c279 100644
--- a/test/mail/0307.anyone
+++ b/test/mail/0307.anyone
@@ -33,6 +33,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;list1@lists.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; list1@lists.test.ex is a closed mailing list
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -85,6 +86,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;nonlist@lists.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; nonlist@lists.test.ex is a closed mailing list
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0385.CALLER b/test/mail/0385.CALLER
index c4f2a9509..36157c835 100644
--- a/test/mail/0385.CALLER
+++ b/test/mail/0385.CALLER
@@ -33,6 +33,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; forced failure
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -87,6 +88,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; forced failure
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -144,6 +146,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; forced failure
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -229,6 +232,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; forced failure
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: text/rfc822-headers
diff --git a/test/mail/0461.CALLER b/test/mail/0461.CALLER
index 530518192..825cd3f01 100644
--- a/test/mail/0461.CALLER
+++ b/test/mail/0461.CALLER
@@ -33,6 +33,8 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; all hosts for 'test.ex' have been failing for a long
+ time (and retry time not reached)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -139,6 +141,8 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;userx@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; all hosts for 'test.ex' have been failing for a long
+ time (and retry time not reached)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/0536.oksender b/test/mail/0536.oksender
index 80b2afb55..32bb774c0 100644
--- a/test/mail/0536.oksender
+++ b/test/mail/0536.oksender
@@ -33,6 +33,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;user22@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; 590 5.4.3 Main and extended code
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/4620.CALLER b/test/mail/4620.CALLER
index 48d3e98c6..0c164167f 100644
--- a/test/mail/4620.CALLER
+++ b/test/mail/4620.CALLER
@@ -38,6 +38,7 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;remote_user@remote.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; account disabled
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/4620.fred[ b/test/mail/4620.fred[
index 9635c7dc6..9e53c20b1 100644
--- a/test/mail/4620.fred[
+++ b/test/mail/4620.fred[
@@ -38,6 +38,7 @@ Reporting-MTA: dns; the.local.host.name
Action: failed
Final-Recipient: rfc822;remote_user@remote.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; account disabled
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/5101.copied b/test/mail/5101.copied
index dd40c616e..e0f8cc8b3 100644
--- a/test/mail/5101.copied
+++ b/test/mail/5101.copied
@@ -52,6 +52,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;jack@myhost.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; LMTP error after end of data: 550 Number 2 fails
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
@@ -108,6 +109,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;jack@myhost.test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; LMTP error after end of data: 550 Number 2 fails
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/mail/5204.CALLER b/test/mail/5204.CALLER
index c1c378181..cb050b122 100644
--- a/test/mail/5204.CALLER
+++ b/test/mail/5204.CALLER
@@ -33,6 +33,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;"FAIL cannot route this one (FAIL)"@some.host
Status: 5.0.0
+X-Exim-Diagnostic: X-str; cannot route this one (FAIL)
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822
diff --git a/test/stdout/3412 b/test/stdout/3412
index 2e2a3f633..9d3ba8751 100644
--- a/test/stdout/3412
+++ b/test/stdout/3412
@@ -49,6 +49,7 @@ Reporting-MTA: dns; myhost.test.ex
Action: failed
Final-Recipient: rfc822;x@test.ex
Status: 5.0.0
+X-Exim-Diagnostic: X-str; no deliveries made locally
--NNNNNNNNNN-eximdsn-MMMMMMMMMM
Content-type: message/rfc822