Sendmailは/var/spool/mail/rootに書き込めません。

Sendmailは/var/spool/mail/rootに書き込めません。

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

1つ目/var/spool/mail/rootは、ローカルrootユーザーに送信されたメールが記録されるメールスプールファイルです。ルートの最初の電子メールがシステムに到着すると、このファイルが存在しない場合は自動的に生成されます。したがって、ファイルがまだ存在しない場合は、確認する必要がある他の理由があると思います。

  • に不適切な権限があります/var/spool/mail/root。特権の例maildrwxrwsrwt他の人が所有するファイルに誰でも書き込むことができますが、触れることはできません(固定ビット - t)。
  • ファイルシステムが/var/spool/mailいっぱいになる可能性があります。
  • たとえば、起動時にいくつかのファイルシステムエラーが原因でファイルシステムが/var/spool/mail読み取り専用としてマウントされました。
  • Sendmailはローカルメールをに転送するように設定されていません/var/spool/mail。ただし、Sendmail設定を共有していないため、わかりません。たとえば、ローカルメール配信を使用する場合は、設定(または)procmailによってはまったく異なるディレクトリにメールを書き込むことができます。procmail/etc/procmailrc/root/.promailrc

関連情報