We're having intermittent problems receiving e-mails from one company, and their side are pointing out, that our server takes just over 5 seconds to respond to incoming SMTP connections, whereas their limit is 5...
Indeed, testing our server with MXToolbox, I do see:
Test | Result | |
---|---|---|
⚠️ | SMTP Banner Check | Reverse DNS does not match SMTP Banner |
⚠️ | SMTP Connection Time | 5.221 seconds - Warning on Connection time |
⚠️ | SMTP Transaction Time | 5.624 seconds - Warning on Transaction Time |
✅ | SMTP Reverse DNS Mismatch | OK - my.ip.add.res resolves to fios-hostname.verizon.net |
✅ | SMTP Valid Hostname | OK - Reverse DNS is a valid Hostname |
✅ | SMTP TLS | OK - Supports TLS. |
✅ | SMTP Open Relay | OK - Not an open relay. |
So, the tool does report 5+ seconds of connection time, but all I see in the log on the server-side is one second:
Sep 4 10:43:32 x skem[15255]: connection from keeper-us-east-1d.mxtoolbox.com (18.209.86.113)
Sep 4 10:43:33 x sm-mta[27774]: 484EhW8u027774: ruleset=check_rcpt, arg1=<[email protected]>, relay=keeper-us-east-1d.mxtoolbox.com [18.209.86.113], reject=550 5.7.1 <[email protected]>... Relaying denied
SKEM is the first "milter" in our line of defenses Where would that five-second delay come from? Are they counting the time it takes to establish the TCP connection itself? Is it "fair" to blame us for any delays with that?
We do use DNSBL:
FEATURE(`dnsbl', `cbl.abuseat.org', `"550 Mail from " $&{client_addr} " rejected - see https://check.spamhaus.org/listed/?searchterm=" $&{client_addr}')
FEATURE(`enhdnsbl', `bl.spamcop.net', `"Spam blocked see: http://spamcop.net/bl.shtml?"$&{client_addr}', `t')dnl
but in my own testing both of those reply almost instantaneously. What else could be the problem?
Update: when I try time telnet our.ser.ver.net < /dev/null
from a remote machine in a different city (and on a different Internet-provider's network), I get 2 seconds the first time, and 0.1 second subsequently (as the DNS information gets into local cache).
Where are the other 3 second coming from?
time telnet our.ip.add.ress < /dev/null
prints0.000u 0.002s 0:00.01
... Which is the same timing subsequent connections to hostname take too -- after the DNS is cached.