Exim Defer Error

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@domain.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 206.190.36.45
yahoo.com has address 98.138.253.109
yahoo.com has address 98.139.183.24
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
Trying 98.138.112.34...
Connected to mta7.am0.yahoodns.net (98.138.112.34).
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

OR

# rm -rf *

4. Start the exim service:

# /etc/init.d/exim start

As the service is restarted, it will rebuild the Exim Database.

Incoming search terms:

  • retry time not reached for any host
  • r=dnslookup t=remote_smtp defer (-53): retry time not reached for any host
  • exim retry time not reached for any host
  • T=remote_smtp defer (-53): retry time not reached for any host
  • remote_smtp defer (-53): retry time not reached for any host
  • (-53): retry time not reached for any host
  • retry time not reached for any host after a long failure period
  • retry time not reached for any host after a long failure period exim
  • retry time not reached for any host exim
  • webmaster@siriust ru R=smarthost T=remote_smtp_smarthost defer (-53): retry time not reached for any host
  • r=dnslookup t=remote_smtp defer (110): connection timed out: smtp timeout while connected to after sending data block (16378 bytes written)
  • exim retry time not reached
  • remote smtp defer 53 error
  • defer (-53): retry time not reached for any host
  • exim defer (-53): retry time not reached for any host
  • t=remote_smtp_smarthost defer (-53): retry time not reached for any host
  • remote_smtp defer (110) connection timed out exim
  • videotron retry time not reached
  • T=remote_smtp_smarthost: retry time not reached for any host after a long failure period
  • T=remote_smtp_smarthost defer (110): Connection timed out