如何在Nodemailer中配置Protonmail传输器?连接报错排查
问题分析与解决方法
核心错误原因
你配置的host: "127.0.0.1"和port: 1025是本地邮件测试服务(如MailHog、MailDev)的地址,并非Protonmail官方SMTP服务器地址。如果本地没有运行这类测试工具,自然会出现连接拒绝错误。
正确配置Protonmail SMTP
Protonmail的官方SMTP配置如下,替换你当前的传输器配置即可:
let transporter = nodemailer.createTransport({ host: "smtp.protonmail.ch", port: 587, // 或465(SSL加密) secure: port === 465, // 465端口设为true,587设为false auth: { user: process.env.EMAIL, // 你的Protonmail邮箱地址 pass: process.env.PASSWORD // 注意:这里需要用Protonmail的**应用密码**,不是邮箱登录密码 }, tls: { ciphers: "SSLv3" // Protonmail要求的加密套件 } });
重点提示:
- Protonmail禁止直接使用邮箱登录密码进行SMTP认证,必须在账号设置中生成应用密码(路径:设置 -> 安全 -> 应用密码)
- 端口二选一:587端口使用STARTTLS加密,465端口使用SSL加密
本地1025端口的使用场景
如果是开发测试阶段想用本地服务拦截邮件(不实际发送),需要先启动对应工具:
- 安装MailHog:
npm install -g mailhog(或用Docker部署) - 启动MailHog后,它会监听127.0.0.1:1025,此时你的原有配置可正常工作,邮件会被拦截到本地Web界面查看(默认访问http://localhost:8025)
内容的提问来源于stack exchange,提问作者zohran rasheed
相关产品推荐
相关产品推荐

