Re: [exim] Solution to EXIM Retry Problem FINALLY

Top Page
Delete this message
Reply to this message
Author: Odhiambo Washington
Date:  
To: Khurram Shahzad
CC: exim-users
Subject: Re: [exim] Solution to EXIM Retry Problem FINALLY
On Mon, Apr 12, 2010 at 9:27 AM, Khurram Shahzad <ksj787@???> wrote:

> Hello Folks,
>
>
> About a year ago a very heated thread was started on this list
>
> http://www.mail-archive.com/exim-users@exim.org/msg32887.html
>
>
> Let me tell you that my carrier as a sys admin is as old as 1 month. My Sys
> admin recently left and I had no choice but to do it myself. I hardly know
> key commands of linux yet.
>
> But I was able to find why my subscribers on yahoo were not getting my
> emails, the problem was same as Catalin Constantin faced and mentioned on
> that thread
>
> ie the BLOODY error
>
> 2010-04-12 10:08:37 1O14L8-00068Z-4z == xxxx@??? R=dk_lookuphost
> T=dk_remote_smtp defer (-53): retry time not reached for any host
>
>
>
> my exim logs would show that 1 or 2 messages would go just fine and then
> thousands of lines of these temp defer error
>
>
> So searching for solution I came across this thread, but after reading each
> and every thread I came to know that nobody was able to solve the problem
> and it was a total waist of time (despite there being many smart Sys admins
> who posted very useful tips there)
>
> So being a programmer, i thought I should try something out of box and here
> is what finally worked for me.
>
> Since the problem with defer messages is per IP basis, I thought why not
> randomize your outgoing IP interfaces to see what happens.
>
> So I did the following
>
>
> First, you need a function that pick a random IP from a list. Add it to
> /etc/exim.pl (somwhere at the end, above last line)
>
> sub randinet {
> @inet = ("x.x.x.1", "x.x.x.2", "x.x.x.3", "x.x.x.4");
> return $inet[int rand($#inet)];
> }
>
>
> Then edit /etc/exim.conf and search for a line that start with “interface=”
>
> remote_smtp:
> driver = smtp
> interface = ${if exists
>
> {/etc/mailips}{${lookup{$sender_address_domain}lsearch*{/etc/mailips}{$value}{}}}{}}
>
> replace last line with
>
> interface = "${perl{randinet}}"
>
>

And the rDNS lookup for x.x.x.{1,2,3,4} all point back to this very server,
right?

-- 
Best regards,
Odhiambo WASHINGTON,
Nairobi,KE
+254733744121/+254722743223
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
"If you have nothing good to say about someone, just shut up!."
              -- Lucky Dube