我还没有对sendmail进行任何更改,现在由于这个错误(我使用我的ISP SMTP服务器)而无法发送任何电子邮件:
Jan 28 10:34:36 zenorebirth sm-mta [3225]:p0S9htol031342:[email protected],delay = 05:50:00,xdelay = 00:00:00,邮件程序=继电器,pri = 17278301,relay = smtp-server.nycap.rr.com,dsn = 4.0.0,stat = Deferred:名称服务器:smtp-server.nycap.rr.com:主机名称查找失败
我可以远程login到smtp-server.nycap.rr.com并从Linux机器发送邮件就好了。 debugging信息:
# 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) <[email protected]>... 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) <[email protected]>... 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.
我想说这看起来像一个前进/后退不匹配,但我可能是错的。 它可能只是他们的邮件群集中的一个不好的条目。 我在考虑它在debugging模式下工作的原因是规则集3被跳过,部分规则集正在对目标邮件服务器进行反向查找。
你也许可以用mailertable来解决这个问题,这可能会把DNS信息当成罪魁祸首。 看看这个 – 解决sendmail中的主机名查找失败