首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sendmail已经停止工作了

Sendmail已经停止工作了
EN

Unix & Linux用户
提问于 2018-06-05 19:28:31
回答 1查看 2.6K关注 0票数 0

我有多个CentOS服务器,它们都有带有masquerade_domain选项的sendmail设置。我们的电子邮件服务器是Gmail;因此,每个服务器都在Gmail上向我们的域发送邮件。我已经在我们的gmail域中白化了服务器的每个IP地址。它已经在years...literally的几年里发挥了作用。

突然,我的服务器的一封夜间邮件停止工作。

使用我的设置,当使用命令行从服务器发送电子邮件时,例如:

代码语言:javascript
运行
复制
echo "Hello World" | mutt -s "Test Hello World Email" myname@mydomain.com

...or...

代码语言:javascript
运行
复制
echo "Hello World" | mail -s "Test Hello World Email" myname@mydomain.com

...the邮件日志显示它被本地主机转发,然后被转发到gmail。一个成功的发送看起来如下:

代码语言:javascript
运行
复制
from=<root@server.domain.com>, size=483096, class=0, nrcpts=1, msgid=<201806051845@server.domain.com>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
to=myname@mydomain.com, ctladdr=root (0/0), delay=00:02:00, xdelay=00:00:00, mailer=relay, pri=512775, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Message accepted for delivery)
STARTTLS=client, relay=aspmx.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
to=<myname@mydomain.com>, ctladdr=<root@server.domain.com> (0/0), delay=00:00:03, xdelay=00:00:03, mailer=esmtp, pri=603096, relay=aspmx.l.google.com. [74.125.124.27], dsn=2.0.0, stat=Sent (OK)

但是,目前,在停止工作的服务器上,我看到以下内容:

代码语言:javascript
运行
复制
from=<root@server.domain.com>, size=483096, class=0, nrcpts=1, msgid=<201806051835@server.domain.com>, proto=ESMTP, daemon=MTA, relay=localhost.localdomain [127.0.0.1]
to=myname@mydomain.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30006, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (Message accepted for delivery)
STARTTLS=client, relay=aspmx.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=AES128-SHA, bits=128/128
to=<myname@mydomain.com>, ctladdr=<root@server.domain.com> (0/0), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=120317, relay=aspmx.l.google.com. [108.177.112.27], dsn=5.0.0, stat=Service unavailable
DSN: Service unavailable
Losing ./: savemail panic
SYSERR(root): savemail: cannot save rejected email anywhere

突出的两个/var/log/maillog行是:

代码语言:javascript
运行
复制
DSN: Service unavailable

...and...

代码语言:javascript
运行
复制
SYSERR(root): savemail: cannot save rejected email anywhere

我最初认为后一个日志条目(无法保存被拒绝的电子邮件)是由于中继无法工作;但是,由于这个问题的起源,我尝试切换我的sendmail配置,以允许在本地传递几个帐户,并且我更新了我的/etc/别名,使用virtusertable的本地传递将许多别名指向其中的一个帐户。...but我一直没有取得任何进展。

值得注意的是,我已经检查了我的/etc/host文件以及/etc/rupv.conf。Nslookup看起来都运行良好,我的主机名与/etc/host文件匹配。此外,此服务器的公共DNS条目与服务器的主机名和IP地址匹配。

任何帮助都是非常感谢的。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-06-07 14:14:33

我想分享我的问题的解决方案。这并不是说,这将是解决每个人的类似问题,但也许我采取的故障排除路径可能会帮助其他人。

首先,我看了邮件日志。对于sendmail,RHEL和CentOS上的默认值为: /var/log/maillog。您可以看到上面我的邮件日志条目以及我看到的两个问题,它们(简化):

代码语言:javascript
运行
复制
relay=aspmx.l.google.com., dsn=5.0.0, stat=Service unavailable

...shortened as:DSN: Service unavailable

..。还有..。

代码语言:javascript
运行
复制
SYSERR(root): savemail: cannot save rejected email anywhere

后一个问题是因为我使用sendmail将所有电子邮件伪装成我们公司的主要电子邮件服务器(在google)。最终所发生的是:

  1. 最初的电子邮件是在本地发送的。
  2. 化妆舞会试图向谷歌重播这封电子邮件。
  3. 重播不起作用,创建了一条弹跳消息
  4. 反弹信息未能发送,因为它也试图被重放到google。

因此,我看不出反弹的原因。

我克服了这个问题,并成功地使用以下命令查看了弹出详细信息:

代码语言:javascript
运行
复制
(echo Subject: test; echo; echo test)|/usr/sbin/sendmail -Am -i -v myemail@address.com

(显然,将myemail@address.com更改为其他东西;尽管不会以任何方式发送)。

上面的命令允许我详细查看错误消息,即:

代码语言:javascript
运行
复制
550-5.7.1 [my.servers.ip.address] The IP you're using to send mail is not authorized to
550-5.7.1 send email directly to our servers. Please use the SMTP relay at your
550-5.7.1 service provider instead. Learn more at
550 5.7.1  https://support.google.com/mail/?p=NotAuthorizedError

在阅读有关这方面的文章时,我很快了解到我的服务器的IP只是在一个策略阻止列表中,它跨越了1000‘IP的S。我发送了一个请求,要求将我的IP从策略块中删除,然后一切都恢复正常。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/448063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档