Cpanel邮箱在线上站点无法发信报ECONNREFUSED错误如何解决?
报错原因说明
你遇到的connect ECONNREFUSED 465报错,本质是服务器防火墙拦截了SMTP 465端口的连接请求,以下是符合可视化操作要求的两种解决方案:
解决方案1:Cpanel环境开放465端口
- 如果你持有服务器WHM管理员权限(适用于VPS、独立服务器用户):
- 登录WHM后台,搜索找到*ConfigServer Security & Firewall(CSF配置防火墙)*入口,主流商用Cpanel都会预装该插件
- 进入CSF设置页后,分别找到
IPv4入站端口(Incoming IPv4)和IPv4出站端口(Outgoing IPv4)两个配置项 - 在两个配置项的端口列表中添加
465,多个端口之间用英文逗号分隔 - 下拉到页面底部点击保存更改,再点击重启CSF+LFD按钮即可生效
- 如果你是共享主机普通Cpanel用户,无WHM权限:
- 登录Cpanel后台,找到提交工单或支持中心板块
- 提交工单告知主机商需要开放服务器出站465端口用于SMTP发信,普通用户无防火墙修改权限,需等待主机商处理完成
解决方案2:切换其他可用SMTP端口(优先推荐,无需修改防火墙)
Cpanel邮箱默认支持3个SMTP端口,465不通时可以优先更换为官方默认开放的TLS端口587,操作全可视化无需改配置:
- 登录Cpanel后台,进入电子邮件板块下的电子邮件账户页面
- 找到你用于发信的目标邮箱账户,点击右侧的连接设备按钮
- 弹出的页面会直接展示该邮箱官方提供的所有可用SMTP配置,直接复制
587端口和对应的SMTP主机地址即可 - 修改你的Node.js发信配置参数,示例如下(以Nodemailer为例):
const transporter = nodemailer.createTransport({ host: '刚才复制的SMTP主机地址', port: 587, secure: false, // 587端口使用TLS加密,此处固定设为false auth: { user: '你的发信邮箱地址', pass: '你的发信邮箱密码' } })
内容的提问来源于stack exchange,提问作者Golden Ogbeka
相关产品推荐
相关产品推荐

