google-app-engine - 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 的套接字吗?请帮忙
解决方案
出于与邮件相关的安全原因,端口 25 始终被阻止。
在您共享的Java 套接字文档中声明:
端口 25 (SMTP) 被阻塞;您仍然可以在提交端口 587 上使用经过身份验证的 SMTP。
确实,对于此端口限制是否仅适用于 Java 7 运行时或也影响 Java 8,文档有些误导。我将发送有关此文档页面的反馈,以防止将来出现混淆。
推荐阅读
- swift - SwiftUI:从其他组件提供for循环上限
- xamarin - 我们可以使用 Tap Gesture Recognizer 为普通视图(例如标签)添加视觉状态吗?
- javascript - 如何构造正则表达式?
- javascript - 如何在 JavaScript 代码的 if 语句中使用 CSS?
- python - 如何将变量分配给 json 响应?
- caching - 缓存未命中 L1 < L2 < L3
- .net - Visual Studio 2017 不能针对 .Net 标准 2.0,但 Visual Studio 2019 可以吗?
- bixby - Bixby:无法将 payInfo.currency 强制转换为字符串
- javascript - 加入、分组和计算两个 javascript 对象
- c++ - GDI+ 和多线程