【发布时间】:2013-11-29 19:17:57
【问题描述】:
我通过 JavaMail 将邮件发送到本地主机上的邮件服务器,端口 25。
我的邮件服务器仅绑定到 IP4,即绑定到 127.0.0.1:25,但不绑定到 [::]:25。
对于 JavaMail 2.5.1 和 JDK 1.7.0_45,我只能在设置系统属性 java.net.preferIPv4Stack=true 时才能使用它。
问题:
为什么需要设置系统属性?我的意思是为什么不是 在 JavaMail 中足以将我的目标主机设置为
127.0.0.1而不是 比localhost。我会假设使用显式 IP4 地址 足以告诉 Java 我想使用 IP4 连接?好的,假设我真的需要那个系统属性。我在 J2EE 中 服务器,我真的不想惹上其他租户 相同的 J2EE 服务器。如果我在我的代码中以编程方式设置它,如
System.setProperty("java.net.preferIPv4Stack","true")会不会影响J2EE服务器中的其他租户?我真正想做的是确保只有那个 SMTP 连接使用 IP4。在应用程序中,还有许多与 SMTP 无关的其他 TCP 连接正在进行。我不想限制那些只使用 IP4。有什么方法可以实现吗?
格雷西。
【问题讨论】:
标签: java sockets jakarta-mail