为了让 VPS 具备“说话”的能力,我选择了轻量级的 msmtp 作为发信代理。在安装过程中,为了避免不必要的权限阻塞,我选择了跳过 AppArmor 配置。
~/.msmtprc 中正确填入 Resend 的 API Key,并设置权限为 600,否则系统会出于安全原因拒绝读取。
通过在 /etc/profile.d/ 目录下编写 Shell 脚本,实现了每次 SSH 登录自动触发邮件通知。
# 核心发信逻辑
printf "To: xxxxxxxx\nSubject: 🚨 SSH 登录提醒: $USER 访问了 VPS\n\n时间: $LOGIN_DATE\n来源 IP: $LOGIN_IP" | msmtp xxxxxxxx
配置过程并非一帆风顺,我遇到了两个全栈开发中非常经典的“坑”:
printf 严格控制格式解决。admin@yushenchuanmei.top 的详细报警邮件。
这套系统利用了 Cloudflare 邮件路由、Resend SMTP 以及 Linux 系统脚本,构建了一道坚实的运维防线。