将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