Android发送邮件报UnknownHostException: smtp.163.com错误的处理

现象说明

在做邮件自动发送时,出现以下问题:

在连接电脑开发调试时,邮件发送一直正常,断开调试一段时间内,邮件也能正常发送,但是过了一段时间后,发送出现异常,获取报错日志:

Exception in thread "main" com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.163.com, 564; timeout -1;
  nested exception is:
    java.net.UnknownHostException: smtp.163.com
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2053)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:697)
    at javax.mail.Service.connect(Service.java:364)
    at javax.mail.Service.connect(Service.java:245)
    at mail.JavaEmail.sendEmail(JavaEmail.java:72)
    at mail.JavaEmail.main(JavaEmail.java:22)
Caused by: java.net.UnknownHostException: smtp.163.com

处理过程

网上报这个错的解决方法是:

1. telnet查看网络是否连通

2. mail.host的属性设置是否正确,有没有多余空格等

3. 配置文件中添加

mail.smtp.auth=true
mail.smtp.starttls.enable=false

4. 查看连接的网络是否为安全的办公室网络,连接到其他网络试试

问题分析

以上方法并不适用这次与遇到情况,由报错信息,可以确定是网络连接问题,通过排查后发现,手机wifi连接偏好设置的高级设置中,有“在休眠状态下保持WLAN网络连接”的选项,默认为“仅限充电时”,在连接电脑的时候会附带充电,因此网络一直连接,但断开一段时间后wifi连接就会断开,以至于连接smtp失败。

解决方法

进入wifi连接偏好设置的高级设置,将“在休眠状态下保持WLAN网络连接”改为“始终”即可。

        

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值