Linux使用脚本监控磁盘、内存等使用情况并邮件提醒,这时就要使用到发邮件功能,发邮件可以使用配置企业邮箱发送,还有一种方式是以本机作为smtp发送,以下我们使用配置企业邮箱的方式发送邮件。
apt updateapt install -y s-nails-nail 读取配置文件的顺序是:
/etc/s-nail.rc(系统级)~/.mailrc(用户级)/etc/mail.rc(兼容)cat > /etc/s-nail.rc << 'EOF'set ask askcc append dot save crtignore Received Message-Id Resent-Message-Id Status Mail-From Return-Path Via Delivered-Toset from=it@test.comset smtp=smtps://smtp.exmail.qq.com:465set smtp-auth-user=it@test.comset smtp-auth-password=你的16位授权码set smtp-auth=loginset ssl-verify=ignoreset mta=smtps://smtp.exmail.qq.com:465EOF# 清除上次失败的草稿rm -f /root/dead.letter# 测试echo"test body" | s-nail -v -s "test mail"test@test.com#正常测试结果如下root@linxu:~# echo "test body" | s-nail -v -s "test mail" test@test.coms-nail: Warning: variable superseded or obsoleted: smtps-nail: Warning: variable superseded or obsoleted: smtp-auth-users-nail: Warning: variable superseded or obsoleted: smtp-auth-passwords-nail: Warning: variable superseded or obsoleted: ssl-verifys-nail: No such file to load: /root/.mailrcs-nail: Warning -- v15-compat=yes will be default in v14.10.0!s-nail: P(seudo)R(andom)N(umber)G(enerator): arc4randoms-nail: Obsoletion warning: please do not use *smtp*, instead assign a smtp:// URL to *mta*!s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15!s-nail: Please read the manual section "On URL syntax and credential lookup"s-nail: Resolving host smtp.exmail.qq.com:465 ... dones-nail: Connecting to 14.22.9.228:465 ... connected.s-nail: TLS connection using TLSv1.3 / TLS_AES_256_GCM_SHA384tes
Postfix 是最轻量、最稳定的 MTA,配置简单:
# 安装apt install -y postfix# 安装过程中选择:# 1. 选择 "Internet Site"# 2. 系统邮件名:test.com(或你的域名)安装完成后会自动启动:
systemctl status postfix然后测试:
echo"test body" | sendmail -s "test mail"test@test.com但是要注意:这种方式发的邮件很容易进垃圾箱或被拒收,因为:
所以生产环境还是建议走 SMTP 认证。