🚗 Linux mailx 发送邮件 mail.rc 完整配置流程
前置要求:对应邮箱账号已开启 SMTP 服务,并获取 SMTP 授权码 / 登录密码
一、安装 mailx 工具
命令保持不变,按系统对应执行
# CentOS/RHEL
yum install -y mailx
yum install -y nss-tools
# Debian/Ubuntu
apt install -y mailutils
二、全局配置 /etc/mail.rc
编辑系统全局邮件配置文件,填入 SMTP 服务信息
vi /etc/mail.rc
在文件末尾追加邮箱 SMTP 配置参数(参数命令不变)
# 发件人显示名称+邮箱地址
set from="root@zhappy.vip"
# SMTP服务器地址端口
set smtp=smtps://smtp.exmail.qq.com:465
# SMTP登录账号
set smtp-auth-user=root@zhappy.vip
# SMTP登录密码/授权码
set smtp-auth-password=qA682FPnj3n2LDvz
# 认证方式
set smtp-auth=login
# SSL加密开启
set ssl-verify=ignore
set nss-config-dir=/etc/pki/nssdb
# 配置精简
set from="xxxxx@163.com"
set smtp="smtps://smtp.163.com:465"
set smtp-auth-user="xxxxxx@163.com"
set smtp-auth-password="xxxx"
set smtp-auth=login
三、自建 SSL 信任证书(解决证书校验报错)
执行原有证书信任配置操作,生成信任证书目录与证书文件
mkdir -p /etc/pki/nssdb
certutil -N -d /etc/pki/nssdb
# 导入对应邮箱SMTP服务器证书(命令不变)
certutil -A -n "mail cert" -t "TCu,Cu,Tuw" -d /etc/pki/nssdb -i 邮箱证书.crt
四、发送邮件功能测试
使用原有测试命令验证邮件发送是否正常
# 简单文本邮件
echo "测试邮件内容" | mail -s "邮件测试标题" 接收邮箱@shturl.
# 带附件发送
echo "带附件测试" | mail -s "附件测试" -a /tmp/test.txt 接收邮箱@shturl.
流程精简版总结(可直接用于文档)
-
前置准备:登录邮箱后台,开启账号 SMTP 服务,保存授权码
-
安装依赖:执行系统对应命令安装 mailx/mailutils
-
全局配置:编辑
/etc/mail.rc,写入完整 SMTP 登录、SSL 参数 -
证书信任:创建 nssdb 证书目录,导入邮箱 SSL 证书完成信任
-
功能校验:执行邮件发送测试命令,确认可正常收发