阿里云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包。以下是效果图。

 

 

posted @ 2022-02-05 00:05  menglingqian  阅读(972)  评论(0编辑  收藏  举报