使用465端口加密发邮件

Posted along21

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用465端口加密发邮件相关的知识,希望对你有一定的参考价值。

一、问题描述

今天由于服务需求,需要服务器需要发送邮件;但是不论用什么办法,发送邮件总是失败;最终发现原因:阿里云实例服务器默认禁止了25端口;

阿里云回复:

  由于国际与国内均对垃圾邮件进行严格管控,我国《互联网信息服务管理办法》、《中国互联网协会反垃圾邮件规范》均对垃圾邮件进行说明与管理规范。 鉴于服务器25端口被大量垃圾邮件充斥,严重影响广大用户正常使用。为了共同维护良好的网络环境,自即日起阿里云新购服务器不再提供25端口邮件服务, 建议您尝试使用465加密端口发送邮件。

所以研究了一下465端口发送邮件

 

二、使用465端口加密发送邮件

1、关闭其它的邮件工具

[[email protected] ~]# systemctl stop sendmail
[[email protected] ~]# systemctl stop postfix

2、安装mailx

[[email protected] ~]# yum install mailx

3、开启smtp

 在任何邮箱平台中开启smtp,开启后会得到一个授权码,这个授权码就代替了密码(自行去邮箱开启)。我使用的是163邮箱

4、请求数字证书(这里用的163邮箱,所以向163请求证书)

[[email protected] ~]# mkdir .certs

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

[[email protected] ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt

[[email protected] ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d /root/.certs -i /root/.certs/163.crt

[[email protected] ~]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d /root/.certs/./ -i /root/.certs/163.crt

Notice: Trust flag u is set automatically if the private key is present.

[[email protected] ~]# ls /root/.certs/

163.crt  cert8.db  key3.db  secmod.db

[[email protected] ~]# certutil -L -d /root/.certs

Certificate Nickname                                         Trust Attributes

                                                             SSL,S/MIME,JAR/XPI

 

GeoTrust SSL CA                                              P,P,P

 

5、配置/etc/mail.rc

[[email protected] ~]# vim /etc/mail.rc

set from[email protected]163.com #之前设置好的邮箱地址
set smtp="smtps://smtp.163.com:465" #邮件服务器
set [email protected]163.com #之前设置好的邮箱地址
set smtp-auth-password=xxxx #授权码
set smtp-auth=login #默认login即可
set ssl-verify=ignore #ssl认证方式
set nss-config-dir=/root/.certs #证书所在目录

 

6、发送邮件测试

[[email protected] ~]# echo "邮件正文" | mail -s "邮件主题" [email protected]

邮件发送成功

 

以上是关于使用465端口加密发邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用JavaMail发送邮件,465端口开启ssl加密传输

JMeter5.1开发SMTP协议接口脚本

C# SMTP发邮件不支持465端口的解决方案,网易企业邮箱

CentOS7.x 通过mail命令发,使用465端口(smtps协议)发送邮件

邮件发送端口是否加密问题

centos上mailx通过465端口发送邮件