发送告警邮件
准备
- 外部邮件服务器
原因
本地自带邮箱容易被过滤,需要延迟性低的邮箱发送
配置 docker
配置环境变量
主机版本:macOS 12.6.4
open .bash_profile
export DOCKER_PATH="/Applications/Docker.app/Contents/Resources/bin"
export PATH="$PATH:$DOCKER_PATH"
定义 docker bin 目录变量为 DOCKER_PATH
配置 PATH 变量 ,取值 $DOCKER_PATH
source .bash_profile
配置生效,一次性
vim ~/.zsrhrc
source ~/.bash_profile
环境变量配置永久生效
安装 centos7
docker pull centos:centos7
拉取 centos7 镜像
docker run -itd --name centos centos:centos7
运行容器,设置名字为 centos 镜像为 centos7
docker exec -it centos /bin/bash
进入 centos 容器,或者打开桌面 docker
安装邮箱小型发送程序
安装 openssl mailx vim
yum -y install vim
yum install mailx -y
yum search openssl
yum install openssl openssl-devel
openssl version -a #安装后验证
vim /etc/mail.arc
set from=heroinepn@163.com smtp=smtps://smtp.163.com:465
set smtp-auth-user=heroinepn@163.com smtp-auth-password=授权码
set ssl-verify=ignore
set nss-config-dir=/root/.certs
set smtp-auth=login
from:对方收到邮件时显示的发件人
smtp:指定第三方发邮件的 smtp 服务器地址
set smtp-auth-user:第三方发邮件的用户名
set smtp-auth-password:邮箱授权码
smtp-auth:SMTP 的认证方式,默认是 login,也可以改成 CRAM-MD5 或 PLAIN 方式
nss-config-dir: SSL 验证信息存放位置,
ssl-verify: SSL 验证信息忽略
配置 SSL 验证数字证书
创建证书存放目录
mkdir -p /root/.certs
请求证书
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt
证书下载到本地两次
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt
信任证书
cd /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
开启邮箱 SMTP
获取授权码
测试发送邮件到其他邮箱
`echo "test" |mail -s "first" zs_pnzzz@163.com`
测试成功
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于