我需要使用 java 客户端通过 ssl 通过 smtp 发送电子邮件。我不知道该怎么做。
- 如果我在我的 Windows 机器上安装了服务器证书,我该如何使用它?
- 如果我希望它在非 Windows 机器上工作,我是否需要以不同的方式获取证书?
顺便说一句:如果我使用的 SMTP 服务器使用 SSL,我可以确定它会使用 SSL 将邮件发送给收件人吗?
我需要使用 java 客户端通过 ssl 通过 smtp 发送电子邮件。我不知道该怎么做。
顺便说一句:如果我使用的 SMTP 服务器使用 SSL,我可以确定它会使用 SSL 将邮件发送给收件人吗?
希望这将帮助您设置服务器证书以使您的 java 客户端代码信任。
STORE=/path/to/JRE/cacerts
keytool -import -trustcacerts -keystore $STORE -storepass changeit -noprompt -file mymailserver.pem -alias mymailserver
请使用反斜杠而不是上面的正斜杠(Windows 的家伙在路径标识符 LOL 中混淆了自己)。
参考:http: //vafer.org/blog/20061010073725/
您可能需要做的一件事是告诉您的 Java 客户端信任服务器的证书。
您与 SMTP 服务器的 SSL 连接完全是点对点的。绝对不能保证它会通过 SSL 连接到其他客户端和服务器(除非您控制服务器)。
您也可以使用 MailReporter。它支持 SSL 和 TLS! http://magithou.com/tips-a-tricks/42-setup-e-mail-accounts/81-ssl-support.htm