sendmail 挂起/邮件挂起

sendmail 挂起/邮件挂起

在所有计算机上,除一台计算机外,sendmail 都可以正常运行。

所有都有完全相同的 /etc/mail 配置文件夹设置,我使用 rsync 来确保它们都匹配。

通常这个命令可以正常工作......

sendmail -t < 我的电子邮件文件.eml

但是从这台计算机(所有计算机都运行 Ubuntu 20.04)来看,该过程就挂起了。

我尝试使用“sendmail -t”,它允许我直接从命令行撰写电子邮件。我按 CTRL+D,但什么也没发生。我尝试使用命令“mail[电子邮件保护]“并能够撰写邮件,但当我到达 cc: 行时,它就挂起了。按 CTRL+Z 即可退出,最终电子邮件会发送。

发生了什么事情导致 sendmail/mail 挂在文件末尾?

似乎没有任何方法可以完全卸载并重新安装。我尝试过“apt-get purge sendmail”,系统显示它已卸载,但在命令行中输入 sendmail 仍然会让我进入文本编辑器模式并继续发送电子邮件。并且“whereis sendmail”仍然在 /usr/sbin 中显示它

我就是搞不清楚这里发生了什么。为什么它会在 EOF 处挂起?而且为什么只在这台电脑上发生?

谢谢!

---- 更新 ---- 我真的不知道如何读取 strace 输出,但有人建议这样做。输出在所有机器上看起来大致相同,这部分是尾端...

socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/dev/log"}, 110) = 0
sendto(3, "<18>May  6 12:27:19 sendmail[265"..., 120, MSG_NOSIGNAL, NULL, 0) = 120
write(2, "Program mode requires special pr"..., 69Program mode requires special privileges, e.g., root or TrustedUser.
) = 69
alarm(0)                                = 0
rt_sigprocmask(SIG_UNBLOCK, [ALRM], [], 8) = 0
getpid()                                = 26521
setuid(1000)                            = 0
exit_group(78)                          = ?
+++ exited with 78 +++

但是在一台出现故障的计算机上,一切都在clock_nanosleep处停止,而在其他计算机上则不会。

socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/dev/log"}, 110) = 0
sendto(3, "<18>May  6 12:27:57 sendmail[688"..., 100, MSG_NOSIGNAL, NULL, 0) = 100
clock_nanosleep(CLOCK_REALTIME, 0, {tv_sec=60, tv_nsec=0}, 

以下是有关该服务器上 sendmail 的一些信息:

$ which sendmail
/usr/sbin/sendmail

$ ls -l $(which sendmail)
lrwxrwxrwx 1 root root 26 Feb  3 15:51 /usr/sbin/sendmail -> /etc/alternatives/sendmail

$ ls -l /etc/alternatives/sendmail
lrwxrwxrwx 1 root root 30 May  6 06:39 /etc/alternatives/sendmail -> /usr/libexec/sendmail/sendmail

其他服务器上的端点停在 /usr/lib/sm.bin/sendmail 但我不确定为什么有问题的笔记本电脑停在 libexec/sendmail 因为它们都运行 ubuntu 22.04。

答案1

我刚刚进入这个虫洞,同样有 60 秒的延迟。

我没有 syslogd,但安装后,它出现在 /var/log/messages 中

May 12 17:52:43 myhost mail.crit sendmail[6955]: My unqualified host name (myhost) unknown; sleeping for retry 
May 12 17:52:47 myhost mail.crit sendmail[6960]: My unqualified host name (myhost) unknown; sleeping for retry 
May 12 17:52:52 myhost mail.crit sendmail[6974]: My unqualified host name (myhost) unknown; sleeping for retry

尝试将主机名(和 /etc/hosts)更改为 FQDN - myhost.localdomain 或类似名称。

相关内容