使用javamail出现java.net.SocketException: Network is unreachable: connect异常 解决方法

在ssh中使用javamail自动发送邮件,出现异常如下

javax.mail.MessagingException: Could not connect to SMTP host: xxx.xxx.xxx, port: 25;
  nested exception is:
	java.net.SocketException: Network is unreachable: connect

这里使用的smtp服务器是公司内部的服务器,之前使用163的smtp服务器时没有出现该问题,查了很长时间的资料,终于找到解决方法:

将java.net.preferIPv4Stack设置为true,如果程序中有main方法,可以在main方法的开头加入

System.setProperty("java.net.preferIPv4Stack", "true");

如果使用tomcat服务器,则可以给tomcat加上启动参数

-Djava.net.preferIPv4Stack=true 

如果是使用的eclipse javaee启动的tomcat,使用如下方法设置:

切换到Servers选项卡,双击Tomcat,在General Information中找到open launch configuration并单击

在弹出的窗口中选择第二个选项卡Arguments,在VM arguments的输入框的最后加上

-Djava.net.preferIPv4Stack=true

 


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值