-2

有没有办法通过 JavaMail 发送电子邮件而无需在 Java 代码(或属性文件)中隐式设置密码?

4

1 回答 1

3

我假设“没有在 Java 代码中隐式设置密码”是指“没有对密码进行硬编码,以便其他人可以看到它”。

如果您的 SMTP 服务器需要密码,则客户端程序(发送电子邮件的程序)必须提供密码,并从某处获取密码。三个选择是

  1. Java中的硬编码
  2. 存储在属性文件中
  3. 启动时手动提供

就是这样。如果您的客户端未在安全环境中运行(您可以控制谁可以访问属性文件),则它可能不应该以这种方式访问​​安全服务。

一种可能的替代方法是编写您自己的中间服务。客户端连接到您的服务,该服务可以检查并丢弃任何不适当的内容,并且仅针对通过验证的发送尝试连接到真实的电子邮件服务器(使用密码)。您的服务不需要实现 SMTP;它可以是一个简单的 POST servlet。

于 2012-08-19T20:04:39.467 回答