我正在尝试使用 netcat 发送邮件,但收到错误:
nc: getaddrinfo: Name or service not known
这是我正在使用的命令
/usr/bin/nc smtp.xxxxx.yy 25 < test.txt
这是 test.txt 的内容
xxx.yyy.zz
MAIL FROM:<[email protected]>
RCPT TO:<[email protected]>
DATA
From: [xxx.yy] <[email protected]>
To: <[email protected]>
Date: Mon, 2 Nov 2015 20:32:26 -0400
Subject: Test Message
This is a test !
Have a good day!
Frogg
.
QUIT
系统是ESXI 5.5
答案1
Netcat ( nc
) 告诉您它无法解析名称“smtp.xxxxx.yy”。这就是nc: getaddrinfo: Name or service not known
意思。
为了验证是否是这个问题,我建议在 nc 命令中手动输入 SMTP 服务器的 IP 而不是域名。如果这样可行,那么肯定是 DNS 问题。
要查看 DNS 中出了什么问题,请尝试运行nslookup smtp.xxxxx.yy
。这将向您显示 DNS 服务器认为正确的 IP 是什么。我预计它会返回以下两条消息之一。
场景 1- 未配置 DNS 服务器,或者 EXSi 主机无法访问该服务器:
nslookup foo.bar.baz
;; connection timed out; no servers could be reached
场景 2- DNS 服务器已配置并可访问,但请求的域名无效
carbon:~ % nslookup foo.bar.baz
Server: 8.8.8.8
Address: 8.8.8.8#53
** server can't find foo.bar.baz: NXDOMAIN
这是一个VMWare 知识库文章关于解决 DNS 问题的主题。