使用Apache Commons Mail 发邮件,用SSL方式

记录一下最近使用Commons Mail遇到一个小问题。服务器是阿里云的ECS,由于关闭了25端口,只能使用SSL方式发邮件。按照官方的代码试了一下,一直提示连接不上SMTP服务器。

// 这是官方的例子
Email email = new SimpleEmail();
email.setHostName("smtp.googlemail.com");
email.setSmtpPort(465);
email.setAuthenticator(new DefaultAuthenticator("username", "password"));
email.setSSLOnConnect(true);
email.setFrom("user@gmail.com");
email.setSubject("TestMail");
email.setMsg("This is a test mail ... :-)");
email.addTo("foo@bar.com");
email.send();

后来加了  setDebug(true)  ,查看日志发现并没有使用SSL方式,提示isSSL false,代码里已经设置了 setSSLOnConnect(true)。网上查了一下说是Commons Mail对SSL的支持少一个设置,在代码里加上:

System.setProperty("mail.smtp.ssl.enable", "true");

再测试,SSL方式发邮件正常。

转载于:https://my.oschina.net/hhaijun/blog/1560297

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值