使用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]

邮件发送成功

原文地址:https://www.cnblogs.com/along21/p/9849645.html

时间: 2024-11-11 08:22:40

使用465端口加密发邮件的相关文章

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

package com.wangxin.test; import java.security.Security; import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; i

阿里云服务器不能发邮件,禁用25端口的解决办法

前阵子刚刚买了个阿里云服务器,在做发送邮件功能时,发现本来在本地测试没问题的功能,在服务器上连接超时. 后来发现是阿里云将25端口禁用了("坑!当然也有其道理"),大概2016年9月后买的服务器都被禁用.25禁用了,我们就不用它.以163邮箱为例: 网易163免费邮箱相关服务器信息: 我这里用的就是SSL协议端口465,代码如下 <?phpheader("content-type:text/html;charset=utf-8");include("

阿里云服务器25端口禁用之如何使用Java发邮件(解决25端口禁用问题)

通常我们在本地使用Java发送邮件,通常是没有问题的,但是部署到服务器的话,就可能遇到问题.当然了,这与运营商也有关系.比如我之前在咖啡主机上购买虚拟机,然后将个人网站部署上去,通常是没有问题的,没有那么多限制. 但是在阿里云上限制就比较多,比如如果端口的入口方向不开的话,可能导致你在服务器上安装的某款软件,例如常用的Tomcat,会无法使用. 一来端口没有开放,二来白名单设置问题. 今天说说阿里云服务器25端口禁用之如何解决它并成功发送邮件,首先贴完整代码,如下所示: package com.

怎么让maillog日志记录smtp是使用25端口还是465端口(SSL加密方式)

怎么让maillog日志记录smtp是使用25端口还是465端口(SSL加密方式): 1.修改配置文件 [[email protected] log]# vi /etc/postfix/master.cf 备注:我这里smtps表示ssl方式,然后加一个syslog_name字段指定名称即可. 2.重新加载postfix服务 /etc/init.d/kkmail_postfix status 3.查看日志确认 原文地址:http://blog.51cto.com/net881004/210845

DAY6 - os补充操作,发邮件,数据库操作,写excel,加密操作

1.Map-循环帮你调用函数 **生成器的概念** 输出为: map返回的就是一个生成器 2.filter-把函数处理结果为false的结果过滤掉 比较map和filter的输出: 3.os的目录操作 4.OS里执行系统命令 我们可能会用到的一个查看系统日志的命令: os.popen('top -n 1').read() 5.datetime模块 输出为: 输出为一个datetime的类型,如: 输出为: 6.Random模块 输出为: 7.Log模块 8.发邮件 第一步:需要先安装发邮件的模块

关于发邮件的服务器的端口号

今天搞一个发邮件的小功能,一切参数设置好,就是服务器没响应. 一开始怀疑是邮件服务器设置不对,邮件服务器和outlook中找到的是一致的. 怀疑端口号25不对.大部分资料都说是25呀. ... 后来找到这个网页,说 Usually an outgoing server employs port 25: it's the default SMTP port. However, some IPs deny its use because of the massive spam and malware

[转载]发邮件组件Nodemailer——nodejs中间件系列

从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎.chrome浏览器就基于V8,同时打开20-30个网页都很流畅.Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低.非常适合小型网站,个性化网站,我们自己的Geek网站!! 关于作者 张丹(Conan), 程序员Java,R,PHP,Java

杂项收集,包括-发邮件、二维码生成、文件下载、压缩、导出excel

本篇就最近工作解决的问题做个代码收集.包括以下几个方面:发邮件.二维码生成.文件下载.压缩.导出excel.有一种可用的解决方法就好,不求全面,不求原理. 1.发邮件: 命名空间:System.Net.Mail程序集:System(在 system.dll 中) tips: MailMessage 类的实例用于构造可使用 SmtpClient 类传输到 SMTP 服务器以便传递的电子邮件. 若要指定电子邮件的发件人.收件人和内容,请使用 MailMessage 类的关联属性.一般需要注意的有 发

邮件开发(二)命令行发邮件

1.打开命令行,输入指令:telnet smtp.qq.com 587 这儿的服务器地址和端口是上面提到的,但是465端口似乎用不了,这儿使用587端口. 2.回车后出现以下界面: 3.向服务器表明身份: 1.输入:ehlo zby 2.回显250状态码 3.zby可以任意替换,这儿是我姓名简写. 4.输入命令:starttls 5.输入:auth login 6.看到334返回码,开始邮箱验证,输入邮箱的base64编码(运行之前的工具类得到): 7.看到334返回码,开始授权码验证,是授权码