阿里云服务器发送邮件失败,25端口被禁用,采用ssl 方式 465端口发送
/**
* 邮件工具类
* User: NZG
* Date: 2019/3/8
* Time: 12:25
**/
@Data
@Component
@Configuration
@ConfigurationProperties(prefix = "email")
//@PropertySource("classpath:config/application.properties")
public class EmailConfig { private String myEmailAccount; // 发件人 账号 private String myEmailPassword; //密码,是你自己的设置的授权码 private String email163SmtpHost; // SMTP服务器(这里用的163 SMTP服务器) private String smtp163Port;// 端口号,这个是163使用到的;QQ的应该是465或者875 }
# 邮件发送 (网易)
email.myEmailAccount=17719@163.com
email.myEmailPassword=ng87187
email.email163SmtpHost=smtp.163.com
email.smtp163Port=25
@Autowired
private EmailConfig emailConfig;
public ResponseResult<String> sendEmail(SendEmailCodeReqVO vo) {
try {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = new Properties();
props.setProperty("mail.smtp.host", emailConfig.getEmail163SmtpHost());
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", emailConfig.getSmtp163Port());
props.setProperty("mail.smtp.socketFactory.port", emailConfig.getSmtp163Port());
props.put("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, new Authenticator(){
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(emailConfig.getMyEmailAccount(),
emailConfig.getMyEmailPassword());
}});
session.setDebug(true);
MimeMessage message = new MimeMessage(session);
// 收件人
message.setRecipients(Message.RecipientType.TO, vo.getReceiveEmailAccount());
// 发件人
message.setFrom(new InternetAddress(emailConfig.getMyEmailAccount()));
//短信发送类型
Integer type = vo.getType();
EmailSendType sms = EmailSendType.getSmsEnumByType(type);
// 内容(这个内容还不能乱写,有可能会被SMTP拒绝掉;多试几次吧)
String msg = "";
String pwd = PassWordUtils.editPassword();
switch (sms) {
case FORGET_PWD:
msg = MessageFormat.format(PatientConstants.EMAIL_MESSAGE_PROMPT, pwd);
break;
default:
break;
}
message.setSubject("辅助系统随机密码");
message.setContent(msg, "text/html;charset=UTF-8");
message.setSentDate(new Date());
message.saveChanges();
Transport.send(message);
//根据邮箱修改密码
UserPraient user = userHandler.getUserByEmail(vo.getReceiveEmailAccount());
if(user==null){
return ResponseResult.failNotice(PatientSystemCode.USER_REG_REEOR.msg());
}
user.setUserPassword(PassWordUtils.entryptPassword(pwd));
userHandler.editUserPassword(user);
} catch (MessagingException e) {
e.printStackTrace();
return ResponseResult.failNotice(PatientSystemCode.MAIL_DELIVERY_FAILED.msg());
}
return ResponseResult.success();
}
阿里云服务器发送邮件失败,25端口被禁用,采用ssl 方式 465端口发送的更多相关文章
- 阿里云服务器 通过JavaMail发送邮箱STMP问题( 25端口被禁用 使用SSL协议465端口 )
我们传统使用的比较简单的是 STMP 25端口收发邮件 今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件 开始在网上有说发现是JDK1.8的原因,然后自己也把JDK1.8换到了 ...
- 阿里云服务器 通过JavaMail发送邮箱STMP问题 25端口被禁用 使用SSL协议465端口
1 问题描述 我们传统使用的比较简单的是 STMP 25端口收发邮件 今天发现刚购买的阿里云服务器不能作为客户端通过STMP 25端口发送邮件 开始在网上有说发现是JDK1.8的原因,然后自己也把JD ...
- 阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110]
阿里云服务器发送邮件:Connection could not be established with host smtp.qq.com [Connection timed out #110] 一.总 ...
- 阿里云ECS发送邮件失败
阿里云发送SMTP邮件失败 N多测试发现 阿里云服务器不能用25端口发邮件,配置465端口阿里云发送邮件是成功的 修改mail.rc 里的smtp 端口为465 配置如下 set from=*** ...
- c#阿里云服务器发送邮件
public static void SendMailUse() { string host = "smtp.lotusest.com";// 邮件服务器smtp.163.com表 ...
- 阿里云服务器用smtp发送邮件返失败
阿里云使用SMTP发送邮件失败,因为阿里云服务器屏蔽了25端口,所以发送不成功,解决办法改用587发送QQ邮件,且必须使用SSL,否则不成功. 经测试QQ的465,995不能使用. https://b ...
- 阿里云服务器 centos7 中继邮箱+转发服务 详细配置
阿里云centos7 邮箱转发服务配置 一.文档编写目的: 网络拓扑图: 阿里云服务器屏蔽掉25端口后,内网服务器如何通过跳板机发送邮件到外网邮箱. 如果是可联网的阿里云机器,可以直接配置mailx使 ...
- 2、阿里云ECS发送邮件到腾讯企业邮箱(ECS默认不开启25端口)
阿里云ECS默认禁用25端口导致发邮件失败. 方法一: 使用shell脚本发送邮件,需要配置mailx 1.安装软件 yum install mailx 2.配置 vim /etc/mail.rc在文 ...
- 阿里云服务器25端口禁用之如何使用Java发邮件(解决25端口禁用问题)
通常我们在本地使用Java发送邮件,通常是没有问题的,但是部署到服务器的话,就可能遇到问题.当然了,这与运营商也有关系.比如我之前在咖啡主机上购买虚拟机,然后将个人网站部署上去,通常是没有问题的,没有 ...
随机推荐
- Jquery trigger 与 triggerHandler
secying Jquery trigger与triggerHandler trigger: 在每一个匹配的元素上触发某类事件(即触发jQuery对象集合中每一个元素). 这个函数也会导致浏览器同名的 ...
- org.springframework.beans.factory.NoSuchBeanDefinitionException
1. 问题描述 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxx ...
- [转]webapi部署在IIS7.5报404的解决方案
1.iis 目录权限设置 2.转自:http://www.cnblogs.com/youlies/p/6042169.html 在web.config添加如下节点 <system.webServ ...
- /usr/lib64/python2.6/site-packages/cryptography/__init__.py:26: DeprecationWarning: Python 2.6 is no longer supported by the Python core team
升级python2.6到2.7后,执行ansible后一直显示警告,如标题所示. 因为安装ansible,使用的是yum的方式,而yum使用的是python2.6,所以ansible安装环境为pyth ...
- Spark 中的宽依赖和窄依赖
Spark中RDD的高效与DAG图有着莫大的关系,在DAG调度中需要对计算过程划分stage,而划分依据就是RDD之间的依赖关系.针对不同的转换函数,RDD之间的依赖关系分类窄依赖(narrow de ...
- 【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。
1.概述 Java程序最初是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为“热点代码”(Hot Spot Code). 为了提高 ...
- zt C++ list 类学习笔记
C++ list 类学习笔记 分类: C++ 2011-09-29 00:12 7819人阅读 评论(0) 收藏 举报 listc++iteratorvectorcconstructor 双向循环链表 ...
- vs2017 git到oschina 方法
vs2017中git基本使用方法: 1.开发环境vs2017,git服务器使用git.oschina.net 2.打开vs2017 创建项目 如果已有项目则: 3.完成后在文件前面会有小锁的图标,说明 ...
- hdu 6214 Smallest Minimum Cut[最大流]
hdu 6214 Smallest Minimum Cut[最大流] 题意:求最小割中最少的边数. 题解:对边权乘个比边大点的数比如300,再加1 ,最后,最大流对300取余就是边数啦.. #incl ...
- Codeforces Round #430 (Div. 2) 【A、B、C、D题】
[感谢牛老板对D题的指点OTZ] codeforces 842 A. Kirill And The Game[暴力] 给定a的范围[l,r],b的范围[x,y],问是否存在a/b等于k.直接暴力判断即 ...