阿里云ECS使用企业版飞书邮箱发送带附件邮件
需求描述
在阿里云ecs上搭建VPN后,已经写好自动交互生成VPN账号,客户端证书 脚本自动打成tar包。需要自动发送用户tar包到用户邮箱。
阿里云ECS屏蔽25端口,使用465 SSL端口发送邮件,postfix邮件服务centos7默认已安装。
一、开启企业版飞书邮箱SMTP
飞书设置--邮箱--第三方客户端,生成配置信息来填写对应的IMAP/STMP配置信息来配置。开启后会得到一个授权码,就是邮箱密码。
<>
二、向飞书邮箱请求证书
[root@openvpn ~]# mkdir .certs [root@openvpn ~]# echo -n | openssl s_client -connect smtp.feishu.cn:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /root/.certs/feishu.crt depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA verify return:1 depth=1 C = US, O = DigiCert Inc, CN = RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1 verify return:1 depth=0 CN = *.feishu.cn verify return:1 DONE [root@openvpn ~]# ll /root/.certs/ total 4 -rw-r--r-- 1 root root 2321 Feb 4 23:14 feishu.crt [root@openvpn ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d /root/.certs -i /root/.certs/feishu.crt [root@openvpn ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d /root/.certs -i /root/.certs/feishu.crt [root@openvpn ~]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d /root/.certs/./ -i /root/.certs/feishu.crt Notice: Trust flag u is set automatically if the private key is present. [root@openvpn ~]# ls /root/.certs/ cert8.db feishu.crt key3.db secmod.db [root@openvpn ~]# certutil -L -d /root/.certs Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI GeoTrust SSL CA P,P,P
三、配置系统/etc/mail.rc
尾部添加以下配置信息,保存重启postfix邮件服务
[root@openvpn ~]# vim /etc/mail.rc set from=menglingqian@xxx.com #发送邮箱地址 set smtp="smtps://smtp.feishu.cn:465" #飞书邮件服务器地址 set smtp-auth-user=menglingqian@xxx.com #之前设置好的发送邮箱地址 set smtp-auth-password=xxxx #邮箱授权码 set smtp-auth=login #默认login即可 set ssl-verify=ignore #ssl认证方式 set nss-config-dir=/root/.certs #证书所在目录 [root@openvpn ~]# systemctl restart postfix
四、测试发送带附件邮件到QQ邮箱
[root@openvpn ~]# echo "邮件正文" | mail -s "邮件主题" 845121415@qq.com [root@openvpn ~]# mail mail mailq mailq.postfix mailx [root@openvpn ~]# echo "输入邮件内容" | mailx -s "邮件标题" -a send-mail.py 845121415@qq.com [root@openvpn ~]#
查看测试qq邮箱已经收到附件 send-mail.py附件.生成vpn账号证书脚本调用以上mailx命令,传用户参数,密码参数,邮箱字符串拼接即可实现自动发送tar包。以下是效果图。
吃鸡id:开车撞死一群人