我在 Solaris 10 服务器上有一个 sendmail 服务器,它停止工作了。我似乎无法在 /var/adm/sendmail 中找到有关失败消息的任何信息。以下是我尝试调试时看到的内容:
[(root)/var/adm]$ sendmail -v [email protected] < testmessage
[email protected]... queued
[(root)/var/adm]$ /usr/ucb/mail -v [email protected]
Subject: Test message
Here is a test message
.
EOT
[(root)/var/adm]$ [email protected]... queued
[(root)/var/adm]$ mailq
/var/spool/mqueue is empty
Total requests: 0
所以,它看起来什么都没做。有时当我尝试调试时,我会收到“127.0.0.1 连接被拒绝”的返回,但它不会一直这样。注意:我已将我的个人 gmail 地址替换为“[电子邮件保护]' 以上。此地址没有设置 procmail 或任何内容,并且我不断检查垃圾邮件文件夹。
我可以尝试其他方法来找出它不起作用的原因吗?
编辑:mailq -C 的输出包括以下几行:
q0AFMJwG026997X 1629 Tue Jan 10 10:22 MAILER-DAEMON
(Deferred: Connection refused by [127.0.0.1])
我确信我昨天尝试过这个,但是从机器 telnet 到 localhost 25 和从我的桌面 telnet 到机器都不起作用:
[(root)/]$ telnet 127.0.0.1 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused
[(root)/]$
和
[~]$ telnet 192.168.129.50 25
Trying 192.168.129.50...
telnet: connect to address 192.168.129.50: Connection refused
telnet: Unable to connect to remote host
Sendmail 正在运行:
[(root)/]$ ps -ef |grep sendmail
smmsp 18616 1 0 16:22:18 ? 0:00 /usr/lib/sendmail -Ac -q15m
root 18614 1 0 16:22:18 ? 0:03 /usr/lib/sendmail -bd -q15m
但是我没有看到它使用“netstat -an”监听端口 25。
编辑:感谢大家的关注和帮助。我现在让 sendmail 在端口 25 上监听(由于平均负载高以及“QueueLA”和“RefuseLA”值,它拒绝了)。我现在可以远程登录到端口 25 并使用 SMTP 命令发送电子邮件。但是,我尝试使用 sendmail 或 /usr/ucb/mail 发送的任何邮件仍然会排队并消失。我还需要检查什么?
编辑:我要继续关闭它,因为我现在又遇到了一组新问题。QueueLA 和 RefuseLA 设置帮助 sendmail 在端口 25 上启动并运行,但现在我遇到了排队问题。我打开了这里有一个新的问题。
答案1
所以 sendmail 在发送邮件和发出之间确实很快mailq
,对吧?您执行的命令无法证明或否认任何事情。唯一可以作为证据的东西是日志文件、网络流量的 tcpdump 或显示发送过程的类似文件。
另一方面,“停止工作”意味着它以前有效。那么从那时到现在发生了什么变化?
答案2
QueueLA 和 RefuseLA 值太低。提高这些值后,sendmail 重新在端口 25 上启动,但现在我遇到了另一个问题。 这是我遇到的下一个问题。
答案3
另一个技巧是查看 sendmail 服务是否已启用,尽管两个 sendmail 进程已经在运行:
% svcs -a | grep sendmail
online 20:47:39 svc:/network/smtp:sendmail
online 20:47:59 svc:/network/sendmail-client:default
如果他们不“在线”,请尝试:
% svcadm enable smtp:sendmail
% svcadm enable sendmail-client:default
现在你应该能够做到:
% telnet localhost 25
QUIT
答案4
没有任何日志或其他证据...我会说由于 solaris 10 配置,您的 sendmail 进程无法运行或无法执行。
您可以使用 ps -aef 之类的命令来查看是否有进程正在运行,并查找 sendmail 进程。