Apr 24

Exim4: "temporarily rejected RCPT" problem solved

Category: Linux   — Published by goeszen on April 24, 2012 at 2:10 pm

If you, like me, get many "temporarily rejected RCPT <mail@example.com>: remote host address is the local host" messages in exim's /var/log/exim4/mainlog log, then here's what I found out to be the solution.

  • So you've freshly installed exim or got a fresh install with Debian Squeeze?
  • You did not tinker with the config files manually but used dpkg-reconfigure exim4-config so that you were guided through the basic config?
  • You are not running greylistd, although all the other posts you've found related to "temporarily rejected RCPT" are related to that? (Note that exim4 has greylisting not built in or installed with it by default! So the error here is not coming from there.)
  • No mail is getting into your server, you are not receiving mail in your inbox.

My solution:
Check your FQDN (fully qualified domain name), the value the wizard filled in for you on the first reconfgure question seems to be wrong!
Use hostname --fqdn to get the real FQDN of your machine. After that answer all the questions as before and after exim has restarted mail should work.

(In a debug session [see below: Coda point 2 for that] I found out that exim reported "451 Temporary local problem - please try later" to calling SMTP servers, so my local config seemed to be the problem, and as the errors also mentioned something with local host name as the root of the problem, I figured it had to do with my FQDN setting.)

Coda
Some posts say that this is related to DNS - it is not, not really. I had no hints of failed DNS lookups in the logs.

Watch what exim is doing, the easy way with:
$ tail /var/log/exim4/mainlog -f

This post here was useful:
use exim -d -bh [a-senders-ip-address] with an IP from the logs where you've found the error with exim in a debug session.
Manually enter a MAIL FROM: foo@example.com and exim will tell you how it handles it.
Then manually enter a receiver address with RCPT TO: my-email@example.com, where in my case exim began to point me into the right direction.

Leave a Reply

=