阿里云ECS命令行发送邮件配置

知识点

  • 阿里云企业邮箱smtp地址以及配置
  • 阿里云ECS如何在命令行发送邮件
  • 如何使用mailx配置ssl安全证书

环境

  • 阿里云ECS服务器
  • 使用阿里云企业邮箱

背景

编写服务监听脚本,发生异常发送邮件通知管理员

阿里云企业邮箱smtp地址以及配置

http://mailhelp.mxhichina.com/smartmail/admin/detail.vm?knoId=5871700

阿里云ECS如何在命令行发送邮件

  • 我的系统是centos7 安装mailx
yum install -y mailx
  • 配置smtp配置
  • 编辑/etc/mail.rc
vim /etc/mail.rc
  • 添加下列配置
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs
set [email protected]
set smtp="smtps://smtp.mxhichina.com:465"
set [email protected]
set smtp-auth-password=xxxx

如何使用mailx配置ssl安全证书

  • 获取证书
  • 执行下列命令
echo -n|openssl s_client -connect smtp.mxhichina.com:465|sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/mxhichina.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/mxhichina.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/mxhichina.crt

测试发送

echo "nihao" |mail -v -s "test mailx" [email protected]

执行到这儿一般会报错

issuer=CN=GlobalSign Organization Validation CA - SHA256 - G2,O=GlobalSign nv-sa,C=BE
subject=CN=*.mxhichina.com,O="Alibaba (China) Technology Co., Ltd.",L=HangZhou,ST=ZheJiang,C=CN
220 smtp.aliyun-inc.com MX AliMail Server
>>> EHLO taigao-ecs-01
250-smtp.aliyun-inc.com
250-8BITMIME
250-AUTH=PLAIN LOGIN XALIOAUTH
250-AUTH PLAIN LOGIN XALIOAUTH
250-PIPELINING
250 DSN
>>> AUTH LOGIN
334 dXNlcm5hbWU6
>>> c3lzdGVt
334 UGFzc3dvcmQ6
>>> WXVubGlhbnRhaWRhMTAxOQ==
526 Authentication failure[0]
smtp-server: 526 Authentication failure[0]
"/root/dead.letter" 11/353
. . . message not sent.

没关系在执行

cd /root/.certs
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu"  -d ./ -i ./mxhichina.crt

在此发送就会成功了

你可能感兴趣的:(阿里云ECS命令行发送邮件配置)