1

几天前我遇到了一个问题,我收到了 Permission denied: connect when using Javamail to send an email using our local mail server。作为参考,可以在这里找到:JavaMail API to iMail -- java.net.SocketException: Permission denied: connect。解决方案是将“-Djava.net.preferIPv4Stack=true”添加到我项目的 VM 选项中。

在构建项目并尝试在 NetBeans 之外运行 .jar 文件后,我得到了相同的错误代码。该项目在 NetBeans IDE 内部按预期工作。

我在这里搜索了 Google 的问题,并阅读了一些 Javamail 常见问题解答。老实说,我真的不知道我在寻找什么,并且认为我只是错过了一些东西。

我使用的是 NetBeans 7.2、Java 7 和 Windows 7。我的项目的 dist 文件夹包含 .jar 文件,而 dist\lib 文件夹包含 mail.jar。

关于为什么我会再次收到该错误的任何想法?再次感谢您提供任何帮助/信息。

4

1 回答 1

1

你是如何运行你的程序的?

如果您使用“java -jar myprog.jar”运行它,请使用“java -Djava.net.preferIPv4Stack=tru -jar myprog.jar”。

如果您通过双击 jar 文件或类似文件来运行它,您可能需要在代码中设置属性,方法是添加 System.setProperty("java.net.preferIPv4Stack", "true");

于 2012-10-17T20:09:46.697 回答