You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM Cloud Foundry下Nodemailer的SMTP连接被阻断如何配置网络

问题根因

绝大多数Cloud Foundry(CF)平台默认会封禁出站25端口的TCP流量,用于防范垃圾邮件滥用,你当前配置的SMTP端口刚好是25,这是超时的核心原因。你本地环境没有端口限制所以运行正常,部署到CF后流量被平台网络规则拦截。

解决步骤

1. 优先更换SMTP端口

OCI 伦敦区的邮件发送服务默认支持两个替代端口:

  • 587端口:使用STARTTLS加密,适配你当前的secure: false + requireTLS: true配置
  • 465端口:使用隐式SSL加密,需要将配置中的secure参数改为true

修改后的配置示例:

const ENDPOINTS = {
   smtp: {
        endpoint: 'smtp.email.uk-london-1.oci.oraclecloud.com',
        port: 587, // 替换原来的25端口
        from: 'accounts-noreply@example.com',
        credentials: {
            id: ...,
            pass: ...
        }
    }
}

改完后可以再进容器用curl --ssl smtp://smtp.email.uk-london-1.oci.oraclecloud.com:587测试连通性。

2. 配置CF平台出站规则

如果更换端口后还是超时,需要在CF平台侧放开对应目标地址、端口的出站权限:

  • 如果你使用的是企业自建CF平台:联系平台管理员将OCI SMTP服务的IP段、对应端口(587/465)添加到应用所属空间的**应用安全组(ASG)**规则中,允许出站TCP访问。
  • 如果你使用的是公有云商用CF服务:进入服务控制台的安全组/出站规则配置页,手动添加规则:允许你的应用出站到smtp.email.uk-london-1.oci.oraclecloud.com的587/465端口。
  • 如果平台支持容器级网络策略,也可以通过CF CLI执行命令配置:
# 允许你的应用出站到OCI SMTP服务的587端口
cf add-network-policy <你的应用名称> --destination-ip <OCI SMTP对应的IP段> --port 587 --protocol tcp

内容的提问来源于stack exchange,提问作者David Min

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:39:02