Reinaldo Matukuma wrote:

Hello.

There are any way to know when a deliver process launched by a smtp
receive process has successfully delivered by all the transports used
for all the address received or also expanded by the alias redirect
router?

*snip*

Of course. have a look at 'log_selector = '

MANY options.

The one I use (below) should drop right it. It shows all of the information you seek, including PID of parent and each child (nice for grep'ing) and each and every local or remote router/transport completions, my 'unseen' archiving included - yet still generates reasonably austere logs:

log_selector = +all -all_parents -queue_run -arguments -rejected_header

Plus some others NOT controlled by 'log_selector ='

+ Any acl with a 'log_message =' will add its output as well IF it is triggered.

++ Any acl with a 'logwrite =' will add its message even if NOT triggered, so long as it is 'traversed', but NOT if it was 'skipped' by an 'endpass' or never reached by an earlier bail-out (defer or deny).

Here is what all that looks like for your post to this list.

I have redacted only my own specific my log_message lines to reduce confusion:

=======

2011-05-27 02:59:53 [21219] SMTP connection from [131.111.8.192]:37119 I=[203.194.153.81]:25 (TCP/IP connection count = 1)

2011-05-27 02:59:57 [4813] 1QPnHI-0001Fd-73 <= [email protected] H=tahini.csx.cam.ac.uk [131.111.8.192]:37119 I=[203.194.153.81]:25 P=esmtp S=3955 [email protected] T="[exim] How to identify when a receive-and-deliver dont need more\n the message on the queue" from <[email protected]> for [email protected]

2011-05-27 02:59:58 [7734] 1QPnHI-0001Fd-73 => wbh <[email protected]> F=<[email protected]> P=<[email protected]> R=db_user T=db_delivery S=3445 QT=2s DT=1s

2011-05-27 02:59:58 [7734] 1QPnHI-0001Fd-73 Completed QT=2s

2011-05-27 02:59:59 [4813] SMTP connection from tahini.csx.cam.ac.uk [131.111.8.192]:37119 I=[203.194.153.81]:25 closed by QUIT

=====

Note that even if there were 12 lines, 4 hours ago, a grep on '[7734]' would find everything that child process handled, dis-entangling it from other log entries going on at the sane time. So all you need is any one line and you can grab the PID and find the rest of its 'life story'.

Here are lines showing frozen messages:

2011-05-02 02:57:19 [23237] 1QGjJE-00025W-UZ == [email protected] routing defer (-51): retry time not reached

2011-05-02 02:58:14 [6841] 1QGjJE-00025W-UZ == [email protected] routing defer (-51): retry time not reached

2011-05-02 03:00:04 [24874] 1QGjMf-0005fX-2s == [email protected] <[email protected]> routing defer (-51): retry time not reached

Note new PID's. In this case, it is the message ID I, as in

1QGjJE-00025W-UZ

tha one would use to gep up the whole life-story.


At any 'real time' point you can also do:

'exiwhat'

...and Exim will count its children and tell you what the whole family *was* doing at the time you asked.

Try it - especially if you think you have stuff in queue overlong.

Adjust to suit your needs.

Bill
--
韓家標

--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to