如何使用 Java 客户端通过 SMTP 和 SSL 发送电子邮件?

发布于 2024-08-02 15:06:28 字数 218 浏览 5 评论 0原文

我需要使用 java 客户端通过 smtp 和 ssl 发送电子邮件。我不知道该怎么做。

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

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

I need to send email over smtp with ssl using java client. I'm not sure how to do that.

  1. If I have my server certificate installed on my Windows machine, how do I use it?
  2. If I want it to work on a non-Windows machine, do I need to get the certificates in a different way?

BTW: If the SMTP server that I use is using SSL, can I be sure that it will send the mail to the recipient using SSL?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

蓬勃野心 2024-08-09 15:06:28

请查看本教程,其中详细介绍了如何使用 JavaMail 和 JSSE(安全套接字扩展)和证书安装。

如果您不想使用 JavaMail,您可以通过 TCP 套接字自行实现 SMTP 协议。 请参见此处。但是您将重新实现大量工作,这些工作乍一看似乎微不足道,但会出现许多边缘情况和复杂性。我强烈建议使用 API 来完成这项工作。

Take a look at this tutorial, which details using JavaMail with JSSE (the secure socket extension) and certificate installation.

If you don't want to use JavaMail, you can implement the SMTP protocol yourself over TCP sockets. See here. But you'll be reimplementing a lot of work which at first sight seems trivial, but will have numerous edge cases and complexities. I would strongly recommend using the APIs for the job.

戏舞 2024-08-09 15:06:28
  1. 要简单地充当 SSL 服务器的客户端,您不需要自己的证书。
  2. 这在非 Windows 计算机上没有什么不同,尤其是在使用 Java 时。

您可能需要做的一件事是告诉您的Java客户端信任服务器的证书。

您与 SMTP 服务器的 SSL 连接是纯点对点的。绝对不能保证它将通过 SSL 连接到其他客户端和服务器(除非您控制服务器)。

  1. To simply act as a client to an SSL server you do not need your own certificate.
  2. It's no different on non-Windows machines, especially when using Java.

The one thing you may have to do is to tell your Java client to trust the server's certificate.

Your SSL connection to the SMTP server is puerly point-to-point. There's absolutely no guarantee that it will connect to other clients and servers over SSL (unless you control the server).

狠疯拽 2024-08-09 15:06:28

您也可以使用 MailReporter。
它支持 SSL 和 TLS!
http://magithou。 com/tips-a-tricks/42-setup-e-mail-accounts/81-ssl-support.htm

You can use MailReporter also.
It supports SSL and TLS!
http://magithou.com/tips-a-tricks/42-setup-e-mail-accounts/81-ssl-support.htm

忘年祭陌 2024-08-09 15:06:28

希望这将帮助您设置 Java 客户端代码信任的服务器证书。

STORE=/path/to/JRE/cacerts
keytool -import -trustcacerts -keystore $STORE -storepass changeit -noprompt -file mymailserver.pem -alias mymailserver

请使用反斜杠而不是上面的正斜杠(Windows 人员在路径标识符中混淆了自己,哈哈)。

参考:
http://vafer.org/blog/20061010073725/

Hope this will help you in setting up the server certificate to be trusted by your java client code.

STORE=/path/to/JRE/cacerts
keytool -import -trustcacerts -keystore $STORE -storepass changeit -noprompt -file mymailserver.pem -alias mymailserver

Please use backslashes instead of above forwards slashes (windows guys have confused themselves in path identifiers LOL).

Reference:
http://vafer.org/blog/20061010073725/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文