Auteur: Ted Cooper Date: À: Zbigniew Szalbot CC: exim-users Sujet: Re: [exim] manual delivery vs. normal queue runs
Zbigniew Szalbot wrote: > Hello,
>
> I find that quite often some emails that are not send during normal queue
> runs get sent when I run exim -d -M <messageID>. Why would that be? I mean
> I understand that sometimes it may happen because a server was slow to
> respond, etc.
>
> The regular queue run reports: retry time not reached for any host
>
> and manual deliver is often successful. The same applies to yahoo emails.
> Runing exim -Rff yahoo.com helps me deal with in-queue messages which
> cannot be delivered during normal queue runs.
>
> I do not think this is exim's fault but me knowing too little about this
> great MTA internal workings. Any suggestion, explanation & advice greatly
> appreciated.
>
> Thank you!
>
Exim uses a common retry database to prevent it from hammering hosts
with multiple retries. This means that if 300 users all send to a host
that is temporarily down, your exim daemon wont waste resources trying
to send to non-responsive host 300 times, but queue them all up to be
sent at the one time.
How often they are tried is based on the retry rules you have set up for
the host. By default it looks something like this:
* * F,2h,15m; G,16h,1h,1.5; F,4d,6h
Which means that for any host in the first 2 hours, it will try every 15
minutes, for every up to 16 hours it will try once and hour, growing by
1.5 hours with ever attempt, and finally 4 days and more it's once every
6 hours. I think.
If an email destined for a host that is already in the retry database is
presented for delivery before that retry time, it will be queued
regardless of whether the host is up again or not. It is not even attempted.
If you use command line options to bypass that check and the host is up,
they will be delivered. It's simply to prevents wasting your resources
trying to contact a down host, and wasting their resources hammering a
server that might not be there. It will get there eventually.. maybe.