我在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] 删除。
我来说两句