javamail设置SSL发送邮件

本文档介绍了如何在JavaMail中配置SSL以实现安全的邮件收发。内容包括使用JSSE API设置SSL连接,注册安全provider,以及通过设置JavaMail属性替换默认socket factory,详细说明了涉及的配置参数和端口设定。
摘要由CSDN通过智能技术生成

最近有一个项目需要支持 SSL的JavaMail收发邮件. 经过一些调查, 把使用SSL的JavaMail方法总结如下.

JavaMail提供商自身缺乏对SSL连接的支持, 所以必须使用JSSE API来支持SSL连接. 下面就是如何使用JSSE API来连接POP3/IMAP/NNTP等mail存储提供商.

以下的代码需要运行在J2SE1.4.x或 者以上版本.

首先, 需要把JSSE的安全provider注册到当前虚拟机的环境下, 有两种方法:

一、修改Java 本地安全文件
<JAVA_HOME>/jre/lib/security/java.security

二、动态的 添加security provider
然后, 需要使用JSSE的SSL socket factory来取代默认的socket factory. 取代的办法就是通过设置JavaMail的一些缺省属性来达到这一点.

  mail.<protocol>.socketFactory.class
  mail.<protocol>.socketFactory.fallback
  mail.<protocol>.socketFactory.port
  mail.<protocol>.timeout

下 面的代码就是替换不同协议的socket factory.
如果我们希望JavaMail只处理SSL的连接, 对于非SSL的连接不做处理, 那么我们最好设置fallback为false.

Security.addProvider(  new  com.sun.net.ssl.internal.ssl.Provider());

 

final   String SSL_FACTORY   =     "  javax.net.ssl.SSLSocketFactory  "
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值