使用 netcat 发送邮件-getaddrinfo:名称或服务未知

使用 netcat 发送邮件-getaddrinfo:名称或服务未知

我正在尝试使用 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 问题的主题。

相关内容