Twilio SendGrid SMTP Relay结合NodeMailer出现535认证失败求助
SendGrid SMTP Relay + NodeMailer 535认证错误解决办法
核心错误原因:SendGrid SMTP认证的用户名固定为
apikey,而非你的API Key字符串。你当前代码将API Key赋值给auth.user,同时错误设置了密码字段,直接触发了认证失败。修正后的代码示例:
const nodemailer = require('nodemailer'); // 正确配置SendGrid SMTP const smtpTransport = nodemailer.createTransport({ host: "smtp.sendgrid.net", port: 587, secure: false, // 587端口使用STARTTLS,需设为false;465端口才启用secure: true auth: { user: "apikey", // 固定用户名,无需修改 pass: "你的SendGrid API Key" // 替换为你生成的有效API Key } });
- 额外排查项:
- 确认生成的API Key已开启
Mail Send权限,创建API Key时必须勾选对应权限,否则即使账号信息正确也会认证失败。 - 检查API Key复制是否完整,避免包含多余空格、换行符或截断内容。
- 确保587端口未被服务器防火墙/安全组拦截,若端口不可用可尝试切换到465端口(此时需将
secure设为true)。 - 验证你的SendGrid账号已完成邮箱验证,且账号状态正常无发送限制。
- 确认生成的API Key已开启
内容的提问来源于stack exchange,提问作者Grogu
相关产品推荐
相关产品推荐

