Linux服务器有在运维时有时候会有需要进行外部邮件的发送,比如监控服务器项目是否正常运行/CPU使用率过高等等,本次教程使用的是163邮箱进行发送,注意:阿里云出于安全考虑,默认封禁了TCP 25端口出方向的访问流量,所以用户无法使用25号端口邮件服务。
1、关闭其他邮件
systemctl stop sendmail
systemctl stop postfix
2、安装mailx
yum install mailx
3、开启smtp
4、配置/etc/mail.rc
vi /etc/mail.rc
set smtp="smtps://smtp.163.com:465" # 这里填入smtp地址
set smtp-auth=login # 认证方式
set [email protected] # 这里输入邮箱账号
set [email protected] # 设置发信人邮箱和昵称
set smtp-auth-password=xxx # 这里填入密码
set ssl-verify=ignore # 忽略证书警告
set nss-config-dir=/root/.certs # 证书所在目录
5、生成数字证书
# 创建证书存放文件夹
mkdir -p /root/.certs/
# 赋予权限
chmod -R 777 /root/.certs
# 生成crt证书
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /root/.certs/163.crt
# 将证书添加到受信任列表
certutil -A -n "GeoTrust SSL CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d /root/.certs/./ -i /root/.certs/163.crt
# 出现以下信息为成功
Notice: Trust flag u is set automatically if the private key is present.
# 查看证书
[root@izx3v1789homjcjl1sgkvyz ~]# certutil -L -d /root/.certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA P,P,P
6、发送邮件
# 普通邮件发送
echo '邮件内容' | mail -s '邮件标题' 收件人邮箱
# 带附件的邮件
mail -s '邮件标题' 收件人邮箱 < 邮件内容.txt
mail命令的选项非常丰富,具体可查看其文档。
传送
打赏
当前共有 0 条评论