I have a problem right now with a bunch of servers all located at the
same company. We've tried contacting them and are waiting for a
response, but I wondered what you guys thought about it.
Basically, exim tries to do a EHLO but this doesn't work with these
servers. They don't send back an error message, but don't accept it -
they just seem to hang. A HELO is received normally and mail can be
sent.
----------------------------------------------------------------
[chrome@sa1 ~]$ telnet s202.secure.ne.jp 25
Trying 211.9.192.21...
Connected to s202.secure.ne.jp.
Escape character is '^]'.
220 s202.secure.ne.jp ESMTP
HELO stupendous.net
250 s202.secure.ne.jp
QUIT
221 s202.secure.ne.jp
Connection closed by foreign host.
[chrome@sa1 ~]$ telnet s202.secure.ne.jp 25
Trying 211.9.192.21...
Connected to s202.secure.ne.jp.
Escape character is '^]'.
220 s202.secure.ne.jp ESMTP
EHLO stupendous.net
[after a few minutes I give up:]
QUIT
^]close
telnet> close
Connection closed.
----------------------------------------------------------------
I have worked around this problem by doing the following:
Now, this is fine, I can now send mail to these guys, but it takes time
for us to notice this problem when it occurs and then get it into the
bad_esmtp_hosts file.
Is there any way for exim to try SMTP after ESMTP fails for any reason?
As I understand it, it will only fall back to SMTP if ESMTP is
explicitly rejected.
So, if we encounter another ISP with this kind of problem, at least the
mail will get through, if a little slowly (due to the timeouts, retry
etc).