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에서 중지되지만 문제가 있는 랩탑은 모두 ubuntu 22.04를 실행하므로 libexec/sendmail에서 끝나는 이유를 잘 모르겠습니다.

답변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 또는 유사한 이름)으로 변경해 보십시오.

관련 정보