如何使用 MSMTP 发送 Monit 警报?

如何使用 MSMTP 发送 Monit 警报?

我有一个 Debian 11 系统作为本地文件服务器运行。我想让它尽可能简单,但有一些来自 Monit 的基本监控。我已经安装并配置了,msmtp并且msmtp-mta我确认我可以使用以下命令从命令行发送测试消息

mail -s "test" [email protected] <<END
This is a test
END

我收到了来自 的电子邮件unattended-upgrades

我见过在 Monit 配置文件中输入 SMTP 详细信息的指南,但我希望仅将详细信息存储在一个地方(/etc/msmtprc),因此在我的 monit 配置文件中我输入了set mailserver localhost。Monit 正在尝试连接但失败了 -/var/log/monit.log我看到:

[2023-04-25T16:43:24+0100] error    : Cannot connect to [localhost]:25 -- Connection refused
[2023-04-25T16:43:24+0100] error    : Cannot open a connection to the mailserver localhost:25 -- Operation now in progress
[2023-04-25T16:43:24+0100] error    : Mail: Delivery failed -- no mail server is available

我是不是误解了什么?

答案1

谢谢@HBruijn,我以为是那样的东西——守护进程已安装但没有运行。

我发现指引如何手动设置,但后来我意识到 Debian 包中已经带有一个msmtpd.service文件(已被禁用),所以我只需要运行 systemctl enable msmtpd.servicesystemctl start msmtpd.service

然后我遇到了权限问题,具体如下:这里- 我运行 chgrp msmtp /etc/msmtprcchmod g+r /etc/msmtprc允许该进程读取配置文件,现在它可以正常工作了。

相关内容