Linux(centos8) 腾讯云CVM配置SMTPS发邮件

主要解决:云服务器25端口发邮件问题,因为购买的是按量付费的腾讯云CVM(用于测试),不支持解封25端口,所以采用465端口(SMTPS)发邮件

465端口是为SMTPS(SMTP-over-SSL)协议服务开放的

它是SMTP协议基于SSL安全协议之上的一种变种协议,

它有SSL安全协议的非对称加密的高度安全可靠性,可以保证邮件的安全性

测试25端口和465端口连接情况:
命令:

1
2
telnet smtp.163.com 25
telnet smtp.163.com 465

测试连接25端口:
在这里插入图片描述
结果:没有响应

测试连接465端口:
在这里插入图片描述
结果:没问题,正常连接

因为25端口不通,所以使用465端口发送邮件

1、获取163邮箱授权码

这里我们以163邮箱为例,首先获取163邮箱授权码。

  • 登录163邮箱–》设置–》POP3/SMTP/IMAP
    在这里插入图片描述
    在这里插入图片描述

进行开启POP3/SMTP服务并得到授权码。

注意这个授权密码只显示一次,一定要保存好。

2、安装mailx并配置mail

  • 安装命令:
1
yum install -y maix
  • 配置mail:
1
vim /etc/mail.rc

在mail.rc 配置文件末尾增加如下内容:

1
2
3
4
5
6
7
set from=lisuibi@163.com  #对方收到邮件时显示的发件人
set smtp=smtps://smtp.163.com:465 #指定第三方发送邮件的smtp服务器地址
set smtp-auth-user=lisuibi@163.com #第三方发邮件的用户名
set smtp-auth-password=RIZIZNDSAFSADRED #授权码
set smtp-auth=login #SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式
set ssl-verify=ignore
set nss-config-dir=/root/.certs #证书目录

3、生成发邮件用的证书

  • 创建目录:
1
mkdir /root/.certs
  • 生成对应的证书:

    #s_client:是一个SSL/TLS客户端程序,它能与s_server通信,也能与其他使用ssl协议的其他服务程序进行通信
    #sed:打印证书开头和结尾中间的内容
    #>:保存到.certs/163.crt这个证书文件中

执行命令,生成证书:

1
echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt

4、测试发送邮件

命令:
#echo:发送的邮件内容
#-s:指定subject标题
#-v:verbose模式,在用户终端上显示信息传递的细节

1
echo 'test mail content' | mail -v -s "test mail title"

结果:
在这里插入图片描述
在这里插入图片描述
完成!