I'm having the following issue, with an up-to-date sendmail daemon.
My mailboxes are stored via LMTP in 192.168.50.133, port 3800.
>From time to time I see the following issue:
"""
# time sendmail -v -qf -oQ/var/spool/mqueue/queue/z-
hace_fallar_el_servidor_LMTP
Running /var/spool/mqueue/queue/z-hace_fallar_el_servidor_LMTP/
l7FGC5Mw008556 (sequence 1 of 1)
<aimc [at] aimc.es>... Connecting to [192.168.50.133] port 3800 via
local...
220 tesalia.argo.es welcome
>>> LHLO tesalia.argo.es
250-tesalia.argo.es gives ('192.168.50.133', 46377) a big welcome
250-PIPELINING
250-ENHANCEDSTATUSCODES
250 8BITMIME
>>> MAIL From:<alicianorac [at] yahoo.com.ar> BODY=8BITMIME
250 2.1.0 OK
>>> RCPT To:<aimc.ai>
>>> DATA
250 2.1.5 OK
354 Start mail input; end with <CRLF>.<CRLF>
tvargentina.com.ar: Name server timeout
senado-ba.gov.ar: Name server timeout
senado-ba.gov.ar: Name server timeout
senado-ba.gov.ar: Name server timeout
senado-ba.gov.ar: Name server timeout
senado-ba.gov.ar: Name server timeout
>>> .
<aimc [at] aimc.es>... Deferred: Connection reset by [192.168.50.133]
Closing connection to [192.168.50.133]
real 9m9.477s
user 0m0.019s
sys 0m0.026s
"""
Doing a "truss" (this is a solaris machine) shows the same data:
sendmail connects to my LMTP server, pass it the from/to info and then
issues a "DATA" command. The LMTP server accepts it BUT sendmail,
instead of passing the message, spend time doing DNS resolutions!!!.
*WHY*???.
When, almost ten minutes later, sendmail tries to send the data, my
LMTP already closed the connection (its timeout is set to 5 minutes).
I guess I could "solve" the issue increasing my LMTP timeout, but that
seems a very ugly hack (and the timeout to set depends of the number
of DNS servers queried by sendmail).
So the questions are:
a) Why is sendmail doing "unnecessary" DNS lookups?
b) How can I configure the DNS timeout?. I tries to configure the
"sendmail.cf", but it seems to ignore my directives
(Timeout.resolver.*). In fact I tried the following configuration and
sendmail is still spending a lot of time doing (failed) DNS lookups:
"""
O Timeout.resolver.retrans=5s
O Timeout.resolver.retrans.first=5s
O Timeout.resolver.retrans.normal=5s
O Timeout.resolver.retry=4
O Timeout.resolver.retry.first=4
O Timeout.resolver.retry.normal=4
"""
Thanks in advance.
