首页 > 解决方案 > Google App Engine 标准 Java8 上的套接字被阻止

问题描述

该文档页面说:

Java 8 运行时中的应用程序可以不受限制地使用本机 Java 套接字

但是,端口 25 的套接字在某处被阻塞。下面的代码在我的本地 JVM 上运行良好,但在 Google 应用引擎 Java8 标准环境中运行良好。

Socket skt = new Socket("gmail.com", 25);
BufferedReader rdr = new BufferedReader(new InputStreamReader(skt.getInputStream()));

我已经浏览了这些文档好几天了,但找不到任何解释它为什么不起作用的东西。我的日志上也没有。

我可以在 GAE 上打开一个到端口 25 的套接字吗?请帮忙

标签: google-app-engine

解决方案


出于与邮件相关的安全原因,端口 25 始终被阻止。

在您共享的Java 套接字文档中声明:

端口 25 (SMTP) 被阻塞;您仍然可以在提交端口 587 上使用经过身份验证的 SMTP。

确实,对于此端口限制是否仅适用于 Java 7 运行时或也影响 Java 8,文档有些误导。我将发送有关此文档页面的反馈,以防止将来出现混淆。


推荐阅读