需求描述
在阿里雲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包。以下是效果圖。