Я не вносил никаких изменений в sendmail, и теперь он не может отправлять электронную почту из-за этой ошибки (я использую SMTP-сервер своего интернет-провайдера):
28 января 10:34:36 zenorebirth sm-mta [3225]: p0S9htol031342: to=test@gmail.com, delay = 05: 50: 00, xdelay = 00: 00: 00, mailer = relay, pri = 17278301, relay = smtp-server.nycap.rr.com, dsn = 4.0.0, stat = Deferred: Сервер имен: smtp-server.nycap.rr.com: ошибка поиска имени хоста
Я могу telnet в smtp-server.nycap.rr.com и нормально отправлять почту с Linux-машины. Информация об отладке:
# sendmail -v -d8.20 -qIp0SFnrG2009232
Running /var/spool/mqueue/p0SFnrG2009232 (sequence 1 of 1)
dns_getcanonname(zeno.biyg.org, trymx=1)
dns_getcanonname: trying zeno.biyg.org. (A)
YES
dns_getcanonname: zeno.biyg.org
dns_getcanonname(biyg.net, trymx=1)
dns_getcanonname: trying biyg.net. (A)
YES
dns_getcanonname: biyg.net
getmxrr(smtp-server.nycap.rr.com, droplocalhost=1)
getmxrr: res_search(smtp-server.nycap.rr.com) failed (errno=110, h_errno=2)
<zeno@biyg.net>... Deferred: Name server: smtp-server.nycap.rr.com: host name lookup failure
Также:
# echo "/map host smtp-server.nycap.rr.com" | sendmail -d8.20 -bt
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> map_lookup: host (smtp-server.nycap.rr.com) dns_getcanonname(smtp-server.nycap.rr.com, trymx=1)
dns_getcanonname: trying smtp-server.nycap.rr.com. (A)
YES
dns_getcanonname: smtp-server.nycap.rr.com
returns smtp-server.nycap.rr.com. (0)
>
sendmail.cf: http://pastebin.com/uXxZCZwS
Я собираюсь немного рискнуть, но я думаю, что проблема в вашем удаленном хосте ...
getmxrr(smtp-server.nycap.rr.com, droplocalhost=1)
getmxrr: res_search(smtp-server.nycap.rr.com) failed (errno=110, h_errno=2)
<zeno@biyg.net>... Deferred: Name server: smtp-server.nycap.rr.com: host name lookup failure
Похоже, что здесь виноват res_search, и то, что он ищет (smtp-server.nycap.rr.com), вызывает ошибку. Согласно netdb.h (я думаю), эта ошибка связана либо с неавторизованным хостом, либо с SRVFAIL.
Проверяя dns, похоже, что с этим хостом что-то не так (простите за использование nslookup):
Non-authoritative answer:
Name: smtp-server.nycap.rr.com
Address: 75.180.132.33
nslookup
> set q=ptr
> 75.180.132.33
Non-authoritative answer:
33.132.180.75.in-addr.arpa name = cdptpa-omtalb.mail.rr.com.
Я хочу сказать, что это похоже на несовпадение прямого / обратного хода, но я могу ошибаться. Это может быть просто одна плохая запись в их почтовом кластере. Я думаю, причина того, что он работает в режиме отладки, заключается в том, что набор правил 3 пропускается, и часть этого набора правил выполняет обратный поиск на целевом почтовом сервере.
Возможно, вы сможете решить эту проблему с помощью почтовой таблицы, которая поможет указать информацию DNS в качестве виновника. Взгляните на это -- Устранение ошибок поиска имени хоста в sendmail