解决Could not connect to SMTP host: smtp.163.com, port: 465, response: -1

java使用网易云邮箱服务器发送邮件,本地环境可以。上到正式阿里云服务器发送邮件显示超时。

port端口25走非加密,465是使用加密方式。

发送超时,可以试试在参数设置里面加上以下配置试试。

prop.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
prop.put("mail.smtp.ssl.protocols", "TLSv1.2");
prop.put("mail.smtp.ssl.enable", true);

发送邮件时指定使用 465 端口:

// 1、创建session
Session session = openSession();
// 开启Session的debug模式查看到程序发送Email的运行状态
session.setDebug(true);
// 2、通过session得到transport对象
Transport ts = null;
try {
    ts = session.getTransport();
    // 3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。
    ts.connect(host,port, user, password);
    // 4、发送邮件
    ts.sendMessage(message, message.getAllRecipients());
} catch (Exception e) {
    // TODO Auto-generated catch block
     e.printStackTrace();
    logger.error(e.getMessage());
} finally {
    closeTransport(ts);
}
### 虚拟机无法连接到服务器的解决方案 当遇到虚拟机提示 `no route to host` 的错误时,这通常表明网络配置存在问题。以下是可能的原因以及对应的解决方法: #### 1. **检查虚拟机和主机之间的网络连通性** 确保虚拟机所在的子网能够访问目标服务器所在子网。可以通过执行以下命令测试连通性: ```bash ping <server-ip> ``` 如果 ping 不成功,则可能是路由表或防火墙设置不正确。 #### 2. **验证虚拟交换机配置** Hyper-V 中使用的虚拟交换机类型会影响网络通信。确认所选的虚拟交换机模式是否适合当前场景[^1]: - 如果使用的是内部交换机,请确保已手动配置 IP 地址并设置了正确的默认网关。 - 如果使用的是外部交换机,请确保物理适配器未被其他虚拟交换机占用,并且启用了允许管理操作系统共享此网络适配器的功能。 #### 3. **检查路由器和防火墙规则** 确保中间设备上的 ACL 或防火墙策略没有阻止流量到达目标服务器。可以临时禁用防火墙来排除干扰因素: ```powershell Set-NetFirewallProfile -Enabled False ``` #### 4. **调整 MTU 设置** 有时最大传输单元(MTU)大小不匹配也会引发此类问题。尝试降低虚拟机及其宿主环境中的 MTU 值至更小数值以适应链路条件[^5]: ```cmd netsh interface ipv4 set subinterface "Ethernet" mtu=1400 store=persistent ``` #### 5. **启用 Beacon Probing 功能检测链接失败情况** 对于复杂的数据中心架构,在分布式虚拟交换机(VDS)环境下可利用信标探测功能(Beacon Probing),它能有效识别上游汇聚/核心层交换机间的断开状况[^5]。 #### 6. **重新评估负载均衡服务状态转移机制** 虽然主要讨论的是VMware ESXi平台下ldirectord的行为特性[^2],但如果涉及到高可用性和动态资源分配的话,了解清楚这些组件如何处理节点上线与离线过程同样重要。例如,适当修改quiescent参数可以帮助平稳过渡期间的服务连续性而不至于立即切断所有现存会话。 通过以上措施应该可以定位并修复大多数因网络路径缺失而导致的连接障碍现象。 ```python import os os.system('ping www.example.com') if result == 'Request timed out.': print("Network unreachable.") else: print("Connection successful!") ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值