我目前必须执行以下操作以允许在我们的java安全策略中发送邮件。
permission java.net.SocketPermission "smtp.example.com", "resolve";
permission java.net.SocketPermission "10.0.0.1:25", "connect,resolve";
permission java.net.SocketPermission "10.0.0.2:25", "connect,resolve";
permission java.net.SocketPermission "10.0.0.3:25", "connect,resolve";
然而,IP地址可能会不时发生变化,我需要确保如果有人添加新的smtp服务器,我们的应用程序不会中断。
是否可以妥协以允许基于主机名而不是IP地址的连接?
答案 0 :(得分:2)
来自SocketPermission页面的java文档:
SocketPermission包含主机规范和一组“操作”,指定连接到该主机的方法。主机指定为
host = (hostname | IPv4address | iPv6reference) [:portrange]
SocketPermissions的创建和含义示例:
new SocketPermission("puffin.eng.sun.com:7777", "connect,accept");