将JavaMail与TLS结合使用

丹卡瓦拉洛:

我在SO上发现了其他几个有关JavaMail API和通过SMTP服务器发送邮件的问题,但是没有一个使用TLS安全性进行讨论。我正在尝试使用JavaMail通过我的工作SMTP邮件服务器将状态更新发送给自己,但是它需要TLS,并且在网上找不到任何有关如何使用JavaMail访问需要TLS加密的SMTP服务器的示例。有人能帮忙吗?

莎拉特:

实际上,我们的产品中有一些使用TLS来发送邮件(如果可用)的通知代码。

您将需要设置Java Mail属性。您仅需要一个TLS,但如果您的SMTP服务器使用SSL,则可能需要SSL。

Properties props = new Properties();
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.auth", "true");  // If you need to authenticate
// Use the following if you need SSL
props.put("mail.smtp.socketFactory.port", d_port);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");

然后,您可以将其传递给JavaMail Session或任何其他会话实例化器,例如Session.getDefaultInstance(props)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章