java - 如何使用 Java 客户端通过带 SSL 的 SMTP 发送电子邮件?

标签 java security ssl ssl-certificate

我需要使用 java 客户端通过带有 ssl 的 smtp 发送电子邮件。我不确定该怎么做。

  1. 如果我的 Windows 机器上安装了我的服务器证书,我该如何使用它?
  2. 如果我想让它在非 Windows 机器上运行,我是否需要以不同的方式获取证书?

顺便说一句:如果我使用的 SMTP 服务器使用 SSL,我能确定它会使用 SSL 将邮件发送给收件人吗?

最佳答案

看看this tutorial ,其中详细介绍了将 JavaMail 与 JSSE(安全套接字扩展)和证书安装结合使用。

如果您不想使用 JavaMail,您可以通过 TCP 套接字自行实现 SMTP 协议(protocol)。 See here .但是你会重新实现很多工作,这些工作乍一看似乎微不足道,但会有许多边缘情况和复杂性。我强烈建议使用 API 来完成这项工作。

关于java - 如何使用 Java 客户端通过带 SSL 的 SMTP 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1287450/

相关文章:

java - Spring Security如何配置ROLE前缀

php - PHP 5.2 是否仍会收到安全补丁?

security - 从 tomcat 8 禁用 TRACK http 方法

ssl - Linux 上的 Unix c_rehash 命令/脚本等同于什么?

java - JVM 在哪里以及为什么检查入口方法 main(String args[]) 的返回类型是否为 void 而不是其他任何东西?

java - HttpMethod.releaseConnection() 和 EntityUtils.consume(entity) 的问题

java - 如何将数组中的文件连接到新文件夹中?

java - Keycloak 自定义以在身份验证流程中运行自定义 java

ruby-on-rails - Heroku Rails Net::HTTP: OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: 证书验证失败

ssl - web端如何实现Https面向nginx及其背后的几个微服务