CentOS에서 sendmail에 문제가 있습니다(postfix가 설치되지 않았습니다). 이 파일/var/스풀/메일/루트분실했습니다. 다음을 사용하여 sendmail을 다시 시작하고 쉘에서 메일을 보내려고 했습니다.
mail -s "test mail" root </dev/null
/var/log/maillog:
Apr 1 10:30:14 ip-172-31-41-71 sendmail[20477]: s31AUEPJ020477: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=302
19, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (s31AUEN9020478 Message accepted for delivery
루트 파일 생성도 시도했지만 테스트 이메일을 보낸 후 아무 것도 기록되지 않았습니다.
답변1
첫 번째 /var/spool/mail/root
는 로컬 루트 사용자에게 보낸 메일이 기록되는 메일 스풀 파일입니다. 루트의 첫 번째 이메일이 시스템에 들어올 때 이 파일이 존재하지 않으면 자동으로 생성됩니다. 따라서 파일이 아직 존재하지 않는다면 확인해야 할 다른 이유가 있다고 생각합니다.
- 에 부적절한 권한이 있습니다
/var/spool/mail/root
. 권한 예mail
:drwxrwsrwt
다른 사람이 소유한 파일에 누구나 쓸 수 있지만 만질 수는 없습니다(고정 비트 -t
). - 파일 시스템이
/var/spool/mail
꽉 찼을 수 있습니다. - 예를 들어, 시작 시 일부 파일 시스템 오류로 인해 파일 시스템이
/var/spool/mail
읽기 전용으로 마운트되었습니다 . - Sendmail이 로컬 메일을 에 전달하도록 구성되어 있지 않습니다
/var/spool/mail
. 하지만 Sendmail 구성을 공유하지 않았기 때문에 확신할 수 없습니다. 예를 들어 로컬 메일 배달을 사용하려는 경우 구성( 또는 )procmail
에 따라 완전히 다른 디렉터리에 메일을 쓸 수 있습니다 .procmail
/etc/procmailrc
/root/.promailrc