Sendmail 无法写入 /var/spool/mail/root

Sendmail 无法写入 /var/spool/mail/root

我的 CentOS 中的 sendmail 有问题(未安装 postfix),该文件/var/spool/邮件/根丢失,我尝试重新启动 sendmail 并使用以下命令从 shell 发送邮件:

mail -s "test mail" root </dev/null

/var/log/mailllog:

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是邮件假脱机文件,发送给本地 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)。

相关内容