Re: [exim] Retry times

Top Page
Delete this message
Reply to this message
Author: Steve Sargent
Date:  
To: exim-users
Subject: Re: [exim] Retry times
I thought I would have a go at this with the oldest in the queue, 72
hours at the moment, and much to my amazement this happened:-



bash$ /usr/local/exim/bin-imap/exim -brw hcw295@???
No rewrite rules are defined
bash$
bash$
bash$ /usr/local/exim/bin-imap/exim -bV
Exim version 4.34 #1 built 29-Jul-2004 16:22:12
Copyright (c) University of Cambridge 2004
Probably ndbm
Support for: iconv()
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz
Authenticators:
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir autoreply lmtp pipe smtp
Fixed never_users: 0
Configuration file is /usr/local/exim/imap.conf



So I'm now going to go and scratch my head!!!!



P.S. The configure file is attached if required.





Philip Hazel wrote:
> On Wed, 22 Jun 2005, Steve Sargent wrote:
>
>
>>The exim running on our imap server has this retry rule:-
>>
>>
>>imap.qmul.ac.uk        *           F,1h,5m; F,2h,15m; G,16h,2h,1.5; F,4d,8h

>>
>>*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,8h

>>
>>
>>Messages addressed to username@??? get stuck in the queue because
>>the user is over quota, and remain in the queue for 10 days even though the
>>retry rule says 4 days. Does anyone know why?
>
>
> 1. What does
>
> exim -brw username@???
>
> say?
>
> 2. What does
>
> exinext username@???
>
> say?
>
> 3. What is the debug output from
>
> exim -d -M <an id for a stuck message>
>
> ?
>
> One possible scenario is that messages pile up for this user; she clears
> out her mailbox and one message is delivered, filling it up again. This
> sequence continues. The point is that once one message is successfully
> delivered, the retry clock for the address will be reset.
>
> HOWEVER: There is a rule that no message should stay on the queue for
> longer than the longest retry time for any of its addresses. So what I
> wrote above should be superseded by that rule. The debug output might
> give a clue as to what is happening.
>


--
Steve Sargent, Vox +44 020 7882 3220, Fax +44 020 8980 2001
QMUL Computing Services, Mile End Road, London E1 4NS, UK
Email : S.L.Sargent@???
WWW page: http://www.qmul.ac.uk/~cgaa160/index.html

                                 PIPER       _|_
                                 PA28R  ____/___\___
                                 ___________[=o=]___________
                                 ARROW    e/  o  \e

# exim configuration file for cyrus/imap delivery service
# 1.0.0 10  Jun 2004 (sls) - preliminary for version 4 of exim
# 1.0.2 18  Jun 2004 (sls) - allow users to submit mail via this host temporarily.
# 1.0.3 15  Jul 2004 (sls) - change relay_hosts to have 127.0.0.1 instead of localhost and fix a missing ':'.
# 1.0.4 16  Jul 2004 (sls) - change freeze_tell to postmaster-frozen@qm and turn ident calls off.
# 1.0.5 16  Jul 2004 (sls) - change errors_copy to postmaster-errors@qm.
# 1.0.6 16  Jul 2004 (sls) - move the log and spool files into a sub-directory called imap.
# 1.0.7 16  Jul 2004 (sls) - remove 127.0.0.1 from  local_interfaces (should be in imap.local or standard.local).
# 1.0.8 19  Jul 2004 (sls) - change location of the spool and log directories.
# 1.0.9 28  Jul 2004 (sls) - add 127.0.0.1 to qm_hosts.
# 1.0.10 29 Jul 2004 (sls) - add interface = INTERFACE to the remote_smtp transport.
# 1.0.11 02 Aug 2004 (sls) - remove 138.37.0.0/16 from relay_hosts to stop imap from being used as a submission seervice.
#                          - change the message in the rcpt ACL to relay not permitted
# 1.0.12 06 Oct 2004 (mdte)- use: .include imap.conf directive.
#                          - add: bounce_return_body false
# 1.0.13 07 Dec 2004 (sls) - add mail2-test to the list of allowed sending hosts.


# include local configuration.
.include /usr/local/exim/imap.local

SPOOLDIR = /var/spool/exim-imap
LOGDIR = /var/log/exim-imap


######################################################################
#                  Runtime configuration file for Exim               #
######################################################################



acl_smtp_connect = check_connection
acl_smtp_rcpt = check_recipient
acl_smtp_data = check_message

domainlist local_domains = @ : \
    imap.qmw.ac.uk : \
    imap.qmul.ac.uk


hostlist relay_hosts = 127.0.0.1 : \
    138.37.6.7 : 138.37.6.6 : 138.37.6.9 : 138.37.6.37 : 138.37.6.5 : \
    138.37.6.15 : 138.37.8.140 : 138.37.8.139 : 138.37.6.16


# a list of servers allowed to send to the imap server
# ---------------------------------------------------
# 138.37.6.7    - mail1.qmul.ac.uk
# 138.37.6.6    - mail2.qmul.ac.uk
# 138.37.6.9    - delta.qmul.ac.uk
# 138.37.6.37    - theta.qmw.ac.uk
# 138.37.6.5    - chi.qmul.ac.uk
# 138.37.6.15    - mail1-test.qmul.ac.uk
# 138.37.6.16    - mail2-test.qmul.ac.uk
# 138.37.8.140    - mdte.css.qmul.ac.uk
# 138.37.8.139    - sls.css.qmw.ac.uk




hostlist qm_hosts = 138.37.0.0/16 : 127.0.0.1

log_selector =  \
              +received_sender \
              +received_recipients \
              +smtp_confirmation \
              +sender_on_delivery




######################################################################
#                    MAIN CONFIGURATION SETTINGS                     #
######################################################################




primary_hostname = PRIMARY_HOSTNAME

allow_domain_literals = false

never_users = root

spool_directory = SPOOLDIR
log_file_path = LOGDIR/%s
pid_file_path = LOGDIR/exim.pid


host_lookup = 0.0.0.0/0

# allow cyrus to set the sender for sieve support
trusted_users = cyrus


# SMTP settings
# listen only on service IP number
local_interfaces = INTERFACE



# give the local postmaster a copy of any errors
errors_copy = "*@* postmaster-errors@???"

freeze_tell = postmaster-frozen@???
ignore_bounce_errors_after = 2d
timeout_frozen_after = 7d

# do not return body (as it may contain null chars and get stuck).
bounce_return_body = false

# disable ident calls.
rfc1413_query_timeout = 0s




######################################################################
#                   ACL CONFIGURATION                                #
######################################################################



begin acl

# ACL that is used after the initial smtp connection
check_connection:
  drop    hosts = !+qm_hosts
          message = Private internal use only.
  accept  hosts = +relay_hosts
  drop    message = Please use smtp.qmul.ac.uk for message submission.



# ACL that is used after the RCPT command
check_recipient:
  accept  hosts = :
  accept  domains = +local_domains
  accept  hosts = +relay_hosts
  deny    message = relay not permitted



# ACL that is used after the DATA command
check_message:
accept




######################################################################
#                   AUTHENTICATION CONFIGURATION                     #
######################################################################





######################################################################
#                      REWRITE CONFIGURATION                         #
######################################################################




######################################################################
#                      ROUTERS CONFIGURATION                         #
#            Specifies how remote addresses are handled              #
######################################################################


begin routers


# just send everything to the main relays
smart_route:
driver = manualroute
domains = ! +local_domains
route_list = * mailrelay.qmul.ac.uk bydns
transport = remote_smtp
no_more



system_aliases:
driver = redirect
allow_defer
allow_fail
data = ${lookup{$local_part}lsearch{/etc/aliases}}
debug_print = "in alias router"
file_transport = address_file
pipe_transport = address_pipe
retry_use_local_part
# user = exim


# Director for sending local mail via the cyrus transport
local_user_cyrus:
driver = accept
debug_print = "in cyrus router"
retry_use_local_part
transport = lmtp_delivery_over_ip






######################################################################
#                      TRANSPORTS CONFIGURATION                      #
######################################################################


# This transport is used for delivering messages over SMTP connections.
begin transports

remote_smtp:
driver = smtp
interface = INTERFACE


# local delivery to Cyrus using LMTP over TCP/IP
lmtp_delivery_over_ip:
driver = smtp
allow_localhost
debug_print = "*** lmtp over tcp/ip: local part $local_part"
hosts = localhost
port = "lmtp"
protocol = LMTP


address_pipe:
driver = pipe
return_output

address_file:
driver = appendfile
delivery_date_add
envelope_to_add
return_path_add

address_reply:
driver = autoreply





######################################################################
#                      RETRY CONFIGURATION                           #
######################################################################


# Domain               Error       Retries
# ------               -----       -------



begin retry

imap.qmul.ac.uk        *           F,1h,5m; F,2h,15m; G,16h,2h,1.5; F,4d,8h


*                      *           F,2h,15m; G,16h,1h,1.5; F,4d,8h



# End of Exim 4 configuration