将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)

以上是 将JavaMail与TLS结合使用 的全部内容, 来源链接: utcz.com/qa/422181.html

回到顶部