有没有办法通过 JavaMail 发送电子邮件而无需在 Java 代码(或属性文件)中隐式设置密码?
问问题
510 次
1 回答
3
我假设“没有在 Java 代码中隐式设置密码”是指“没有对密码进行硬编码,以便其他人可以看到它”。
如果您的 SMTP 服务器需要密码,则客户端程序(发送电子邮件的程序)必须提供密码,并从某处获取密码。三个选择是
- Java中的硬编码
- 存储在属性文件中
- 启动时手动提供
就是这样。如果您的客户端未在安全环境中运行(您可以控制谁可以访问属性文件),则它可能不应该以这种方式访问安全服务。
一种可能的替代方法是编写您自己的中间服务。客户端连接到您的服务,该服务可以检查并丢弃任何不适当的内容,并且仅针对通过验证的发送尝试连接到真实的电子邮件服务器(使用密码)。您的服务不需要实现 SMTP;它可以是一个简单的 POST servlet。
于 2012-08-19T20:04:39.467 回答