sendmail 掛起/郵件掛起

sendmail 掛起/郵件掛起

在所有電腦上,sendmail 都可以正常運作,只有一台電腦除外。

所有這些都具有完全相同的 /etc/mail 設定資料夾設置,我使用 rsync 來確保它們全部匹配。

通常這個指令工作得很好......

sendmail -t < my-email-file.eml

但在這一台電腦上(所有電腦都執行 Ubuntu 20.04),該進程掛起。

我嘗試了“sendmail -t”,它可以讓我直接從命令列撰寫電子郵件。我按下 CTRL+D,但沒有任何反應。我嘗試使用命令“郵件[電子郵件受保護]" 並且能夠撰寫郵件,當我到達 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 或類似的名稱。

相關內容