-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.424 2006/11/06 11:27:54 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.425 2006/11/06 15:50:12 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
removed the panic log writing for the ECONNRESET error when getsockname()
fails.
+PH/36 After a 4xx response to a RCPT error, that address was delayed (in queue
+ runs only) independently of the message's sender address. This meant
+ that, if the 4xx error was in fact related to the sender, a different
+ message to the same recipient with a different sender could confuse
+ things. In particualar, this can happen when sending to a greylisting
+ server, but other circumstances could also provoke similar problems.
+ I have changed the default so that the retry time for these errors is now
+ based a combination of the sender and recipient addresses. This change
+ can be overridden by setting address_retry_include_sender=false in the
+ smtp transport.
+
Exim version 4.63
-----------------
-$Cambridge: exim/doc/doc-txt/NewStuff,v 1.119 2006/10/24 12:56:06 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/NewStuff,v 1.120 2006/11/06 15:50:12 ph10 Exp $
New Features in Exim
--------------------
line, because further arguments are taken as strings to expand (just like
-be).
+9. When an address is delayed because of a 4xx response to a RCPT command, it
+ is now the combination of sender and recipient that is delayed in subsequent
+ queue runs until its retry time is reached. You can revert to the previous
+ behavious, that is, delay the recipient independent of the sender, by
+ setting address_retry_include_sender=false in the smtp transport. However,
+ this can lead to problems with servers that regularly issue 4xx responses to
+ RCPT commands.
+
+
Version 4.63
------------
-$Cambridge: exim/doc/doc-txt/OptionLists.txt,v 1.26 2006/10/24 12:56:06 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/OptionLists.txt,v 1.27 2006/11/06 15:50:12 ph10 Exp $
LISTS OF EXIM OPTIONS
---------------------
acl_smtp_starttls string* unset main 4.11
acl_smtp_vrfy string* unset main 4.00
address_data string* unset routers 4.00
+address_retry_include_sender boolean true smtp 4.64
address_test boolean true routers 4.14
admin_groups string list unset main 3.02
allow_domain_literals boolean false main 4.00 replacing forbid_domain_literals
-/* $Cambridge: exim/src/src/deliver.c,v 1.37 2006/10/30 16:41:04 ph10 Exp $ */
+/* $Cambridge: exim/src/src/deliver.c,v 1.38 2006/11/06 15:50:12 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
}
/* Get the routing retry status, saving the two retry keys (with and
- without the local part) for subsequent use. Ignore retry records that
- are too old. */
+ without the local part) for subsequent use. If there is no retry record for
+ the standard address routing retry key, we look for the same key with the
+ sender attached, because this form is used by the smtp transport after a
+ 4xx response to RCPT when address_retry_include_sender is true. */
addr->domain_retry_key = string_sprintf("R:%s", addr->domain);
addr->address_retry_key = string_sprintf("R:%s@%s", addr->local_part,
domain_retry_record = dbfn_read(dbm_file, addr->domain_retry_key);
if (domain_retry_record != NULL &&
now - domain_retry_record->time_stamp > retry_data_expire)
- domain_retry_record = NULL;
+ domain_retry_record = NULL; /* Ignore if too old */
address_retry_record = dbfn_read(dbm_file, addr->address_retry_key);
if (address_retry_record != NULL &&
now - address_retry_record->time_stamp > retry_data_expire)
- address_retry_record = NULL;
+ address_retry_record = NULL; /* Ignore if too old */
+
+ if (address_retry_record == NULL)
+ {
+ uschar * altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
+ sender_address);
+ address_retry_record = dbfn_read(dbm_file, altkey);
+ if (address_retry_record != NULL &&
+ now - address_retry_record->time_stamp > retry_data_expire)
+ address_retry_record = NULL; /* Ignore if too old */
+ }
}
DEBUG(D_deliver|D_retry)
-/* $Cambridge: exim/src/src/transports/smtp.c,v 1.28 2006/10/30 16:41:04 ph10 Exp $ */
+/* $Cambridge: exim/src/src/transports/smtp.c,v 1.29 2006/11/06 15:50:12 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
to be publicly visible; these are flagged with opt_public. */
optionlist smtp_transport_options[] = {
+ { "address_retry_include_sender", opt_bool,
+ (void *)offsetof(smtp_transport_options_block, address_retry_include_sender) },
{ "allow_localhost", opt_bool,
(void *)offsetof(smtp_transport_options_block, allow_localhost) },
{ "authenticated_sender", opt_stringptr,
1024, /* size_addition */
5, /* hosts_max_try */
50, /* hosts_max_try_hardlimit */
+ TRUE, /* address_retry_include_sender */
FALSE, /* allow_localhost */
FALSE, /* authenticated_sender_force */
FALSE, /* gethostbyname */
converted to OK at the end.
Arguments:
- addrlist the complete address list
- include_affixes TRUE if affixes include in RCPT
- sync_addr ptr to the ptr of the one to start scanning at (updated)
- host the host we are connected to
- count the number of responses to read
- pending_MAIL true if the first response is for MAIL
- pending_DATA 0 if last command sent was not DATA
- +1 if previously had a good recipient
- -1 if not previously had a good recipient
- inblock incoming SMTP block
- timeout timeout value
- buffer buffer for reading response
- buffsize size of buffer
+ addrlist the complete address list
+ include_affixes TRUE if affixes include in RCPT
+ sync_addr ptr to the ptr of the one to start scanning at (updated)
+ host the host we are connected to
+ count the number of responses to read
+ address_retry_
+ include_sender true if 4xx retry is to include the sender it its key
+ pending_MAIL true if the first response is for MAIL
+ pending_DATA 0 if last command sent was not DATA
+ +1 if previously had a good recipient
+ -1 if not previously had a good recipient
+ inblock incoming SMTP block
+ timeout timeout value
+ buffer buffer for reading response
+ buffsize size of buffer
Returns: 3 if at least one address had 2xx and one had 5xx
2 if at least one address had 5xx but none had 2xx
static int
sync_responses(address_item *addrlist, BOOL include_affixes,
- address_item **sync_addr, host_item *host, int count, BOOL pending_MAIL,
+ address_item **sync_addr, host_item *host, int count,
+ BOOL address_retry_include_sender, BOOL pending_MAIL,
int pending_DATA, smtp_inblock *inblock, int timeout, uschar *buffer,
int buffsize)
{
update_waiting = FALSE;
- /* Add a retry item for the address so that it doesn't get tried
- again too soon. */
+ /* Add a retry item for the address so that it doesn't get tried again
+ too soon. If address_retry_include_sender is true, add the sender address
+ to the retry key. */
- retry_add_item(addr, addr->address_retry_key, 0);
+ if (address_retry_include_sender)
+ {
+ uschar *altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
+ sender_address);
+ retry_add_item(addr, altkey, 0);
+ }
+ else retry_add_item(addr, addr->address_retry_key, 0);
}
}
} /* Loop for next RCPT response */
if (count > 0)
{
switch(sync_responses(first_addr, tblock->rcpt_include_affixes,
- &sync_addr, host, count, pending_MAIL, 0, &inblock,
- ob->command_timeout, buffer, sizeof(buffer)))
+ &sync_addr, host, count, ob->address_retry_include_sender,
+ pending_MAIL, 0, &inblock, ob->command_timeout, buffer,
+ sizeof(buffer)))
{
case 3: ok = TRUE; /* 2xx & 5xx => OK & progress made */
case 2: completed_address = TRUE; /* 5xx (only) => progress made */
int count = smtp_write_command(&outblock, FALSE, "DATA\r\n");
if (count < 0) goto SEND_FAILED;
switch(sync_responses(first_addr, tblock->rcpt_include_affixes, &sync_addr,
- host, count, pending_MAIL, ok? +1 : -1, &inblock,
- ob->command_timeout, buffer, sizeof(buffer)))
+ host, count, ob->address_retry_include_sender, pending_MAIL,
+ ok? +1 : -1, &inblock, ob->command_timeout, buffer, sizeof(buffer)))
{
case 3: ok = TRUE; /* 2xx & 5xx => OK & progress made */
case 2: completed_address = TRUE; /* 5xx (only) => progress made */
-/* $Cambridge: exim/src/src/transports/smtp.h,v 1.8 2006/02/28 12:42:47 ph10 Exp $ */
+/* $Cambridge: exim/src/src/transports/smtp.h,v 1.9 2006/11/06 15:50:12 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
int size_addition;
int hosts_max_try;
int hosts_max_try_hardlimit;
+ BOOL address_retry_include_sender;
BOOL allow_localhost;
BOOL authenticated_sender_force;
BOOL gethostbyname;
# ----- Main settings -----
-
# ----- Routers -----
begin routers
hosts_max_try = 1
port = PORT_S
connect_timeout = 2s
+ address_retry_include_sender = false
# ----- Retry -----
1999-03-02 09:44:33 Start queue run: pid=pppp
1999-03-02 09:44:33 10HmaX-0005vi-00 == userx@test.ex R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
1999-03-02 09:44:33 End queue run: pid=pppp
+1999-03-02 09:44:33 Start queue run: pid=pppp
+1999-03-02 09:44:33 10HmaX-0005vi-00 == userx@test.ex routing defer (-51): retry time not reached
+1999-03-02 09:44:33 End queue run: pid=pppp
exim -q -d-all+retry
****
dump retry
+exim -q -d-all+retry
+****
no_msglog_check
checking status of 127.0.0.1
locking TESTSUITE/spool/db/retry.lockfile
no retry data available
-added retry item for R:userx@test.ex: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@test.ex from subprocess
+added retry item for R:userx@test.ex:<CALLER@test.ex>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@test.ex:<CALLER@test.ex> from subprocess
added retry item
LOG: MAIN
== userx@test.ex R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
Deferred addresses:
userx@test.ex
locking TESTSUITE/spool/db/retry.lockfile
-retry for R:userx@test.ex = * 0 0
+retry for R:userx@test.ex:<CALLER@test.ex> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@test.ex
+Writing retry data for R:userx@test.ex:<CALLER@test.ex>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
locking TESTSUITE/spool/db/retry.lockfile
no host retry record
no message retry record
-added retry item for R:userx@test.ex: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@test.ex from subprocess
- existing delete item dropped
+added retry item for R:userx@test.ex:<CALLER@test.ex>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@test.ex:<CALLER@test.ex> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:userx@test.ex from subprocess
- delete item not added: non-delete item exists
+ existing delete item dropped
+ added delete item
LOG: MAIN
== userx@test.ex R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
Processing retry items
Deferred addresses:
userx@test.ex
locking TESTSUITE/spool/db/retry.lockfile
+deleted retry information for R:userx@test.ex
deleted retry information for R:test.ex
-retry for R:userx@test.ex = * 0 0
+retry for R:userx@test.ex:<CALLER@test.ex> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@test.ex
+Writing retry data for R:userx@test.ex:<CALLER@test.ex>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
locking TESTSUITE/spool/db/retry.lockfile
no host retry record
no message retry record
-added retry item for R:userx@test.ex: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@test.ex from subprocess
- existing delete item dropped
+added retry item for R:userx@test.ex:<CALLER@test.ex>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@test.ex:<CALLER@test.ex> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:userx@test.ex from subprocess
- delete item not added: non-delete item exists
+ existing delete item dropped
+ added delete item
LOG: MAIN
== userx@test.ex R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
Processing retry items
Deferred addresses:
userx@test.ex
locking TESTSUITE/spool/db/retry.lockfile
+deleted retry information for R:userx@test.ex
deleted retry information for R:test.ex
-retry for R:userx@test.ex = * 0 0
+retry for R:userx@test.ex:<CALLER@test.ex> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@test.ex
+Writing retry data for R:userx@test.ex:<CALLER@test.ex>
first failed=dddd last try=dddd next try=+2 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
LOG: queue_run MAIN
End queue run: pid=pppp
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
+Exim version x.yz ....
+configuration file is TESTSUITE/test-config
+admin user
+LOG: queue_run MAIN
+ Start queue run: pid=pppp
+locking TESTSUITE/spool/db/retry.lockfile
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering: userx@test.ex
+no domain retry record
+LOG: retry_defer MAIN
+ == userx@test.ex routing defer (-51): retry time not reached
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+After routing:
+ Local deliveries:
+ Remote deliveries:
+ Failed addresses:
+ Deferred addresses:
+ userx@test.ex
+Processing retry items
+Succeeded addresses:
+Failed addresses:
+Deferred addresses:
+userx@test.ex: no retry items
+end of retry processing
+LOG: queue_run MAIN
+ End queue run: pid=pppp
+>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
checking status of 127.0.0.1
locking TESTSUITE/spool/db/retry.lockfile
no retry data available
-added retry item for R:userx@test.ex: errno=-44 more_errno=dd,A flags=0
-added retry item for R:usery@test.ex: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@test.ex from subprocess
+added retry item for R:userx@test.ex:<CALLER@test.ex>: errno=-44 more_errno=dd,A flags=0
+added retry item for R:usery@test.ex:<CALLER@test.ex>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@test.ex:<CALLER@test.ex> from subprocess
added retry item
-reading retry information for R:usery@test.ex from subprocess
+reading retry information for R:usery@test.ex:<CALLER@test.ex> from subprocess
added retry item
LOG: MAIN
== userx@test.ex R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
Deferred addresses:
usery@test.ex
locking TESTSUITE/spool/db/retry.lockfile
-retry for R:usery@test.ex = * 0 0
+retry for R:usery@test.ex:<CALLER@test.ex> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:usery@test.ex
+Writing retry data for R:usery@test.ex:<CALLER@test.ex>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<usery@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
userx@test.ex
-retry for R:userx@test.ex = * 0 0
+retry for R:userx@test.ex:<CALLER@test.ex> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@test.ex
+Writing retry data for R:userx@test.ex:<CALLER@test.ex>
first failed=dddd last try=dddd next try=+1 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
locking TESTSUITE/spool/db/retry.lockfile
no host retry record
no message retry record
-added retry item for R:userx@test.ex: errno=-44 more_errno=dd,A flags=0
-added retry item for R:usery@test.ex: errno=-44 more_errno=dd,A flags=0
-reading retry information for R:userx@test.ex from subprocess
- existing delete item dropped
+added retry item for R:userx@test.ex:<CALLER@test.ex>: errno=-44 more_errno=dd,A flags=0
+added retry item for R:usery@test.ex:<CALLER@test.ex>: errno=-44 more_errno=dd,A flags=0
+reading retry information for R:userx@test.ex:<CALLER@test.ex> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:userx@test.ex from subprocess
- delete item not added: non-delete item exists
-reading retry information for R:usery@test.ex from subprocess
existing delete item dropped
+ added delete item
+reading retry information for R:usery@test.ex:<CALLER@test.ex> from subprocess
added retry item
reading retry information for R:test.ex from subprocess
existing delete item dropped
added delete item
reading retry information for R:usery@test.ex from subprocess
- delete item not added: non-delete item exists
+ existing delete item dropped
+ added delete item
LOG: MAIN
== userx@test.ex R=r1 T=t1 defer (-44): SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
LOG: MAIN
Deferred addresses:
usery@test.ex
locking TESTSUITE/spool/db/retry.lockfile
+deleted retry information for R:usery@test.ex
deleted retry information for R:test.ex
-retry for R:usery@test.ex = * 0 0
+retry for R:usery@test.ex:<CALLER@test.ex> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:usery@test.ex
+Writing retry data for R:usery@test.ex:<CALLER@test.ex>
first failed=dddd last try=dddd next try=+2 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<usery@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
userx@test.ex
+deleted retry information for R:userx@test.ex
deleted retry information for R:test.ex
-retry for R:userx@test.ex = * 0 0
+retry for R:userx@test.ex:<CALLER@test.ex> = * 0 0
failing_interval=ttt message_age=ttt
-Writing retry data for R:userx@test.ex
+Writing retry data for R:userx@test.ex:<CALLER@test.ex>
first failed=dddd last try=dddd next try=+2 expired=0
errno=-44 more_errno=dd,A SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
end of retry processing
unique = CALLER@myhost.test.ex
dbfn_read: key=R:myhost.test.ex
dbfn_read: key=R:CALLER@myhost.test.ex
+dbfn_read: key=R:CALLER@myhost.test.ex:<>
no domain retry record
no address retry record
CALLER@myhost.test.ex: queued for routing
unique = userx@test.ex
dbfn_read: key=R:test.ex
dbfn_read: key=R:userx@test.ex
+dbfn_read: key=R:userx@test.ex:<CALLER@test.ex>
no domain retry record
no address retry record
userx@test.ex: queued for routing
+++++++++++++++++++++++++++
- R:userx@test.ex -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@test.ex:<CALLER@test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
+++++++++++++++++++++++++++
- R:userx@test.ex -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@test.ex:<CALLER@test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
+++++++++++++++++++++++++++
- R:userx@test.ex -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@test.ex:<CALLER@test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 2
******** SERVER ********
+++++++++++++++++++++++++++
- R:userx@test.ex -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@test.ex:<CALLER@test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
- R:usery@test.ex -44 13121 SMTP error from remote mail server after RCPT TO:<usery@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:usery@test.ex:<CALLER@test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<usery@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 1
+++++++++++++++++++++++++++
- R:userx@test.ex -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:userx@test.ex:<CALLER@test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<userx@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 2
- R:usery@test.ex -44 13121 SMTP error from remote mail server after RCPT TO:<usery@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
+ R:usery@test.ex:<CALLER@test.ex> -44 13121 SMTP error from remote mail server after RCPT TO:<usery@test.ex>: host 127.0.0.1 [127.0.0.1]: 451 Temporary error
first failed = time last try = time2 next try = time2 + 2
******** SERVER ********
T:127.0.0.1:127.0.0.1:1224:10HmaX-0005vi-00 0 65 SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: host 127.0.0.1 [127.0.0.1]: 850 RUBBISH
first failed = time last try = time2 next try = time2 + 10
+++++++++++++++++++++++++++
- R:abcd@xyz -44 12865 SMTP error from remote mail server after RCPT TO:<abcd@xyz>: host 127.0.0.1 [127.0.0.1]: 850 RUBBISH
+ R:abcd@xyz:<CALLER@the.local.host.name> -44 12865 SMTP error from remote mail server after RCPT TO:<abcd@xyz>: host 127.0.0.1 [127.0.0.1]: 850 RUBBISH
first failed = time last try = time2 next try = time2 + 10
******** SERVER ********
T:127.0.0.1:127.0.0.1:1224:10HmaX-0005vi-00 -45 13377 SMTP error from remote mail server after MAIL FROM:<CALLER@myhost.test.ex>: host 127.0.0.1 [127.0.0.1]: 452 temporary error
first failed = time last try = time2 next try = time2 + 0 *
+++++++++++++++++++++++++++
- R:userx@x.y -44 13377 SMTP error from remote mail server after RCPT TO:<userx@x.y>: host 127.0.0.1 [127.0.0.1]: 452 temporary error
+ R:userx@x.y:<CALLER@myhost.test.ex> -44 13377 SMTP error from remote mail server after RCPT TO:<userx@x.y>: host 127.0.0.1 [127.0.0.1]: 452 temporary error
first failed = time last try = time2 next try = time2 + 0 *
******** SERVER ********