Hi,

We experienced a very strange behavior that seems contrary to the 
specification (the logs indicate that). I hope someone here can
shed some light on what happened. Am I missing something here?!

Thanks in advance
and kind regards,
Dominik Schramm


Scenario:
        We have two identically configured mail servers 
        (server1.mydomain.de, 10.16.24.97, and server2.mydomain.com, 
        10.16.24.196) with two queues -- incoming and outgoing -- each. 
        They are running the Ubuntu 7.10 exim4-daemon-heavy version 
4.67-5build1.
        The servers are both reachable from the Internet, they have the 
        same MX priority and are thus roughly equally loaded. The 
        outgoing daemons use a system filter to set up unseen deliveries. 
  
Problem:
        A message coming into our network should be sent on to 
        [EMAIL PROTECTED] by an unseen delivery (see below); this 
        fails without any consistent error being logged, the message in 
        question simply disappears from the queue after being delivered 
        to the original recipients. Normally this works fine (it has for 
        six months), only yesterday did we have errors of the same kind 
        on both mail servers, which work indepently of each other. 
          
        The only unusual thing about yesterday was that the 
        destination mail servers for the domain "outside.com" were 
        all down between 10:55 am and 11:25 am, and errors were logged 
        accordingly ("Connection timed out"). I would have expected that 
        the mail message to "outside.com" remain on the queue and be 
        processed by subsequent queue runners according to the retry 
        rules. Instead, there was one mainlog message "retry time not 
        reached" or "defer (110): Connection timed out", and after that 
        "Completed", and the messages was nowhere to be found any more. 
        
        Here are two complete log examples from server1 (extracted with 
        exigrep, but checking the logs line by line reveals that exigrep 
        did not miss anything) -- rejectlog and paniclog are empty, and 
        the other syslog log files contain nothing interesting: 
  
        2008-06-18 10:57:25 1K8tTp-0002DV-Ir <= [EMAIL PROTECTED] [4.5.6.7] 
P=esmtp S=6728 [EMAIL PROTECTED]
        2008-06-18 10:57:28 1K8tTp-0002DV-Ir => order.copy <system-filter> 
R=procmail T=procmail_pipe
        2008-06-18 10:57:28 1K8tTp-0002DV-Ir => [EMAIL PROTECTED] 
R=imap_pop3_server2 T=remote_smtp H=10.16.24.196 [10.16.24.196]
        2008-06-18 11:00:37 1K8tTp-0002DV-Ir mailserver-2.outside.com 
[9.10.11.12] Connection timed out
        2008-06-18 11:03:10 1K8tTp-0002DV-Ir Spool file is locked (another 
process is handling this message)
        2008-06-18 11:03:46 1K8tTp-0002DV-Ir mailserver-1.outside.com 
[9.10.11.11] Connection timed out
        2008-06-18 11:03:46 1K8tTp-0002DV-Ir == [EMAIL PROTECTED] 
<system-filter> R=dnslookup T=remote_smtp defer (110): Connection timed out
        2008-06-18 11:05:01 1K8tTp-0002DV-Ir Completed

        2008-06-18 11:10:00 1K8tg0-00038u-BU <= [EMAIL PROTECTED] [1.2.3.4] 
P=esmtp S=4364
        2008-06-18 11:10:01 1K8tg0-00038u-BU => order.copy <system-filter> 
R=procmail T=procmail_pipe
        2008-06-18 11:10:01 1K8tg0-00038u-BU == [EMAIL PROTECTED] 
<system-filter> R=dnslookup T=remote_smtp defer (-53): retry time not reached 
for any host
        2008-06-18 11:10:01 1K8tg0-00038u-BU => [EMAIL PROTECTED] 
R=imap_pop3_server2 T=remote_smtp H=10.16.24.196 [10.16.24.196]
        2008-06-18 11:15:01 1K8tg0-00038u-BU Completed

Configuration details:
  
        [EMAIL PROTECTED]:~# cat /etc/exim4/exim4_outgoing.conf
        ...
        system_filter = /etc/exim4/cfg_system_filter.txt
        ...

        [EMAIL PROTECTED]:~# cat /etc/exim4/cfg_system_filter.txt
        # Exim filter

        if    error_message or not first_delivery
           or $sender_host_address is "10.16.24.97"
           or $sender_host_address is "10.16.24.196"
        then
           finish
        endif

        if foranyaddress $recipients ( $thisaddress   is    [EMAIL PROTECTED]
                                  or   $thisaddress   is    [EMAIL PROTECTED] )
        then
                unseen deliver [EMAIL PROTECTED] errors_to [EMAIL PROTECTED]
        endif
        if foranyaddress $recipients ( $thisaddress   is    [EMAIL PROTECTED] )
        then
                unseen deliver [EMAIL PROTECTED] errors_to [EMAIL PROTECTED]
        endif

-- 
## List details at http://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