From time to time you may notice that some addresses give a defer error: retry time not reached for any host.
1Ruz3Y-0005TQ-Ek == email@example.com R=dnslookup T=remote_smtp defer (-53): retry time not reached for any host
And Problem remain even if you try send an email from multiple servers all with different IP addresses and ranges.
First of all, make sure your domain is not blacklisted by any of the RBL’s…
If the e-mail server IP is not in blacklist, this error message means that all hosts to which the message could be sent have been failing for so long that the end of the retry period (typically 4 or 5 days) has been reached. In such case, exim still computes a next time to retry, but any messages that arrive in the meantime are bounced straight away.
So, you need to find out what smtp server is used to manage address.com’s email. To do this — use the host command or more advanced dig, whatever you like best. This command should be issued on your mail server:
# host yahoo.com
yahoo.com has address 18.104.22.168
yahoo.com has address 22.214.171.124
yahoo.com has address 126.96.36.199
yahoo.com mail is handled by 1 mta7.am0.yahoodns.net.
yahoo.com mail is handled by 1 mta6.am0.yahoodns.net.
yahoo.com mail is handled by 1 mta5.am0.yahoodns.net.
Then make sure that remote smtp server is accepting connections on 25/tcp and is operating without any unpredictable errors.
# telnet mta7.am0.yahoodns.net 25
Connected to mta7.am0.yahoodns.net (188.8.131.52).
Escape character is '^]'.
220 mta1240.mail.ne1.yahoo.com ESMTP YSmtpProxy service ready
Next step is to tidy up exim retry database in case your exim databases are corrupt:
# /usr/sbin/exim_tidydb -t 1d /var/spool/exim retry > /dev/null
# /usr/sbin/exim_tidydb -t 1d /var/spool/exim reject > /dev/null
# /usr/sbin/exim_tidydb -t 1d /var/spool/exim wait-remote_smtp > /dev/null
In my case, after some digging, I found, that one possible reason for this error is recipient mail server IP address being blocked in exim database. So now we are sure that the Ip address or recipient mail server is blocked in the exim database.
Now to release the IP you should:
1. Take backup of “/var/spool/exim/db/” directory if we can revert. in case if there is another problem arise.
2. Stop exim service using following command:
# /etc/init.d/exim stop
3. Now delet the ratelimit & retry files:
# rm -rf ratelimit
# rm -rf retry
# rm -rf *
4. Start the exim service:
# /etc/init.d/exim start
As the service is restarted, it will rebuild the Exim Database.