工作中经常需要结合shell脚本需要发送邮件通知,linux自带的mail可以实现外部smtp发邮件。

下面就是配置使用mail配合smtp发送邮件部署

一、用户级别的默认配置文件是~/.mailrc,配置/root/.mailrc文件

vim /root/.mailrc

由于隐私问题,先内容为自定义

set from=123@aliyun.net
set name="DK Alert"
set smtp=smtps://smtp.aliyun.com:465
set nss-config-dir=/etc/ssl/certs/
set smtp-auth-user=123@aliyun.net
set smtp-auth-password=wSsVR611+kHxX60slDGlcr9uyFhQD16kR0
set smtp-auth=login
set ssl-verify=ignore

#1#申请的邮箱地址
#2#自定义名称
#3#如果是465端口,需要加上smtps://协议;如果是587端口,不需要加smtps://或者写smtp://;
#4#证书所在目录,一般系统都是/etc/pki/tls/certs软链接
#5#申请的邮箱地址
#6#邮箱密码
#7#认证方式
#8#忽略证书警告

二、生成ssl证书

cd /etc/pki/tls/certs

echo -n | openssl s_client -connect smtp.aliyun.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > aliyun.crt
certutil -A -n "aliyun SSL CA - G3" -t "P,P,P" -d /etc/pki/tls/certs -i aliyun.crt
certutil -L -d /etc/pki/tls/certs

#1#获取邮件服务器证书
#2#-A表示添加,-n是可以随意取,-t表示受信任的标签,可取值是t/c/p三种或者其组合;-d表示证书所在目录,-i指示证书文件的位置
#3#查看证书

三、测试

# echo "邮件正文" | mail -s "邮件主题" xxx@aliyun.com

echo 'test'| mail -s 'test1' xxxx@aliyun.com

Logo

更多推荐