Smartd 无法发送邮件

Smartd 无法发送邮件

我有一台 CentOS 8 流服务器。我设置它smartmontools来监控我的驱动器。MTA 是msmtp。为了测试设置,我修改了我的设置,smartd.conf添加了以下内容:

/dev/sda -a -m [email protected] -M test

由于我没有看到任何邮件弹出,我决定检查日志:

journalctl -u smartd

结果如下:

smartd[1184]: Executing test of <mail> to [email protected]...
smartd[1184]: Test of <mail> to [email protected] produced unexpected output (459 bytes) to STDOUT/STDERR:
smartd[1184]: send-mail: cannot connect to smtp.gmail.com, port 587: Permission denied
smartd[1184]: send-mail: could not send mail (account default from /etc/msmtprc)
smartd[1184]: send-mail: cannot log to /var/log/msmtp.log: cannot open: Permission denied
smartd[1184]: send-mail: log info was: host=smtp.gmail.com tls=on auth=on [email protected] [email protected] [email protected] errormsg='cannot connect to smtp.gmail.com, port 587: Permission denied' exitcode=EX_TEMPFAIL

因此,我尝试了:

echo "My message" | mail -s "Some subject" [email protected]

它确实发送了邮件,但仍然显示错误:

 send-mail: cannot log to /var/log/msmtp.log: cannot open: Permission denied

我认为这可能是 SE 权限的问题,因此我检查了:

getsebool -a | grep mail

结果是:

gitosis_can_sendmail --> off
httpd_can_sendmail --> on
logging_syslogd_can_sendmail --> on
logwatch_can_network_connect_mail --> on
mailman_use_fusefs --> off
postfix_local_write_mail_spool --> on

我有两个错误,但不知道如何纠正。如果有人能给我指明正确的方向,我将非常高兴。

非常感谢!

答案1

send-mail:无法连接到 smtp.gmail.com,端口 587:权限被拒绝 send-mail:无法发送邮件(帐户默认来自 /etc/msmtprc)

这可能是身份验证问题,请检查您的凭据/etc/msmtprc

发送邮件:无法记录到/var/log/msmtp.log:无法打开:权限被拒绝

这可能是 AppArmor 禁止登录/var/log/msmtp.log

我不知道 CentOS,但你可能想看看这个 AskUbuntu 问题无论如何。在 Ubuntu 上,有一个默认的 AppArmor 配置文件,它只允许登录/var/log/msmtp(没有.log扩展)。

或者您可以尝试使用syslog LOG_MAIL(应该记录到/var/log/mail.log),而不是logfile /var/log/msmtp.log在您的 msmtprc 中,正如建议的那样这里

相关内容