![sendmail 发送邮件失败:域不存在错误](https://linux22.com/image/593647/sendmail%20%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%E5%A4%B1%E8%B4%A5%EF%BC%9A%E5%9F%9F%E4%B8%8D%E5%AD%98%E5%9C%A8%E9%94%99%E8%AF%AF.png)
我配置了 sendmail 来使用 Gmail smtp 中继发送邮件,按照本文中的说明进行操作。
但当我尝试发送邮件时,它被拒绝了。错误消息是:
The original message was received at Wed, 22 Aug 2012 13:24:35 +0800 from root@localhost
----- The following addresses had permanent fatal errors -----
[email protected]
(reason: 553 5.1.8 <[email protected]>... Domain of sender address root@[mymachinename] does not exist)
(expanded from: [email protected])
----- Transcript of session follows -----
... while talking to [127.0.0.1]:
>>> DATA
<<< 553 5.1.8 <[email protected]>... Domain of sender address root@[mymachinename] does not exist
550 5.1.1 [email protected]... User unknown
<<< 503 5.0.0 Need RCPT (recipient)
我认为这与 DNS 有关,但我不知道该怎么办。
答案1
好的,我明白发生了什么。
你已经偏离轨道了。
- 不要以 身份运行
root
。 - 您的 sendmail 配置似乎设置为以 root@[yourmachinename] 的身份对 Gmail 中继进行身份验证。这不会起作用。
- 您实际上正在尝试发送电子邮件
[email protected]
- 不要这样做。这是一个示例,您应该将其替换为您实际想要发送电子邮件的地址。 - 看到日志中显示的部分了
while talking to [127.0.0.1]
吗?这是环回地址,这意味着 sendmail 正在与您的计算机通信,而您的计算机将其 DNS 名称报告为gckj001
,但事实并非如此。好吧,至少如果您想发送邮件的话,情况并非如此。
所以实际上,这是一种 DNS 错误,因为你的机器不是域,而你试图将其视为域。你需要返回到标题为配置 sendmail在您链接的文章中并实际配置它......嗯,正确。
至于如何做到这一点,您确实需要多读书,可能要了解 SMTP 和邮件中继背后的基本概念(如果您正在做这件事,也许还要了解 DNS)。老实说,我不知道从哪里开始。