linux(centos8):阿里云ecs配置smtps发邮件(解决不能通过25端口发邮件问题)

一,2016年9月后购买的阿里云ecs不再支持通过25端口发送邮件

官方的建议是使用465端口

465端口(SMTPS):

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

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

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

测试连接到25端口:

[root@aliecs ~]# telnet smtp.163.com 25
Trying 220.181.12.13...

没有响应

测试连接到465:

[root@aliecs ~]# telnet smtp.163.com 465
Trying 220.181.12.13...
Connected to smtp.163.com.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

没问题,可以连接

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: [email protected]

二,在163邮箱得到授权码:

我们在这里以常用的163邮箱为例,先获取授权码。

1, 什么是授权码?

当我们从非网易官方的客户端连接smtp服务时,

需要使用授权码作为密码,而不是到邮箱的登录密码。

这个授权码需要单独获取一次

即:我们在linux上使用163个人邮箱发邮件时,

需要使用的密码不是邮箱登录密码,而是授权码

2,登录到163邮箱->设置->POP3/SMTP/IMAP->
看截图
linux(centos8):阿里云ecs配置smtps发邮件(解决不能通过25端口发邮件问题)_第1张图片

在pop3/smtp服务后点“开启”按钮

网易会提示绑定手机号,

看截图:

linux(centos8):阿里云ecs配置smtps发邮件(解决不能通过25端口发邮件问题)_第2张图片
手机号绑定成功后,再次点击开启

网易会提示要求使用绑定的手机号发送一条短信到指定号码,

发送成功后会显示授权码:

看截图:
linux(centos8):阿里云ecs配置smtps发邮件(解决不能通过25端口发邮件问题)_第3张图片

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

三,配置mailx发邮件

[root@aliecs ~]# vi /etc/mail.rc

在文件末尾增加以下内容

#by lhd
set from=cbnabcd@163.com
set smtp=smtps://smtp.163.com:465
set smtp-auth-user=cbnabcd@163.com
set smtp-auth-password=SHOUQUANMA
set smtp-auth=login
set ssl-verify=ignore
set nss-config-dir=/root/.certs 

四,生成供发邮件用的证书:

1,创建目录

[root@aliecs ~]# mkdir /root/.certs

2,生成相应的证书:

#s_client:是一个SSL/TLS客户端程序,它能与s_server通信,也能与其他使用ssl协议的其他服务程序进行通信

#sed:打印证书开头和结尾中间的内容

#>:保存到.certs/163.crt这个证书文件中

[root@aliecs ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt

五,测试发送邮件

#-s:指定subject标题

#-v:verbose模式,在用户终端上显示信息传递的细节

#

[root@aliecs ~]# mail -v -s "subject_title" 371125307@qq.com <a.txt
Resolving host smtp.163.com . . . done.
Connecting to 220.181.12.18:465 . . . connected.
220 163.com Anti-spam GT for Coremail System (163com[20141201])
>>> EHLO aliecs
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFKVMJAUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
>>> AUTH LOGIN
334 dXNlcm5hbWU6
>>> Y2Jud2Vla2hiQDE2My5jb20=
334 UGFzc3dvcmQ6
>>> VFZQUERTQ0xVVUlWVUxPTA==
235 Authentication successful
>>> MAIL FROM:<cbnabcd@163.com>
250 Mail OK
>>> RCPT TO:<371125307@qq.com>
250 Mail OK
>>> DATA
354 End data with <CR><LF>.<CR><LF>
>>> .
250 Mail OK queued as smtp14,EsCowAD3_aVX18ReQDkBCg--.14523S2 1589958489
>>> QUIT
221 Bye 

六,查看mailx的版本:

[root@aliecs ~]# mail -V
12.5 7/5/10

转载地址:https://www.cnblogs.com/architectforest/p/12924395.html

你可能感兴趣的:(项目生产问题,java)