配置 /etc/msmtprc(示例 QQ 邮箱):account default host smtp.qq.com port 587 from your@qq.com auth on user your@qq.com password 你的16位授权码 tls on tls_starttls on tls_trust_file /etc/ssl/certs/ca-certificates.crt logfile /var/log/msmtp.log
测试:echo “test” | msmtp recipient@example.com
监控脚本片段:CPU_THRESHOLD=90; CPU_USAGE=$(top -bn1 | awk ‘/Cpu(s)/{print 100 - $8}’); if (( $(echo “$CPU_USAGE > $CPU_THRESHOLD” | bc -l) )); then echo “CPU 使用率 ${CPU_USAGE}% 超过阈值” | msmtp recipient@example.com; fi
定时:*/5 * * * * /usr/local/bin/cpu_alert.sh
五 实践建议
选择路径:桌面环境优先“本地即时报警”;服务器环境建议“监控平台/脚本化”以获得可观测性与持久化。
通知渠道:关键告警建议“邮件 + Webhook(企业微信/钉钉/飞书)”双通道,避免单点失效。
降噪与去重:为告警设置合理的 for 持续时间与分组/抑制策略,避免告警风暴。
安全合规:SMTP 使用授权码/应用专用密码;限制脚本与 MTA 配置文件的权限(如 msmtp 配置仅 root 可读写)。