使用Nodemailer调用GoDaddy SMTP遇每日5封发送限额问题求助
GoDaddy SMTP 5封/天限额问题(Nodemailer触发,Outlook正常)
问题详情
我使用Nodemailer通过GoDaddy邮箱发送邮件,配置如下:
service: "Godaddy", host: "smtpout.secureserver.net", secureConnection: false, port: 587, auth: { user: "myemail@mydomain.com", pass: "mypassword", },
配置可正常运行,但24小时内发送5封邮件后就会触发限额错误,错误信息:
Error: Mail command failed: 550 User [email_address] has exceeded its 24-hour sending limit. Messages to 5 recipients out of 5 allowed have been sent. Relay quota will reset in 16.50 hours. at SMTPConnection._formatError (C:\Users\[Username]\Desktop\nodemailer\nodemailer-form\node_modules\nodemailer\lib\smtp-connection\index.js:790:19) at SMTPConnection._actionMAIL (C:\Users\[Username]\Desktop\nodemailer\nodemailer-form\node_modules\nodemailer\lib\smtp-connection\index.js:1594:34) at SMTPConnection.<anonymous> (C:\Users\[Username]\Desktop\nodemailer\nodemailer-form\node_modules\nodemailer\lib\smtp-connection\index.js:1063:18) at SMTPConnection._processResponse (C:\Users\[Username]\Desktop\nodemailer\nodemailer-form\node_modules\nodemailer\lib\smtp-connection\index.js:969:20) at SMTPConnection._onData (C:\Users\[Username]\Desktop\nodemailer\nodemailer-form\node_modules\nodemailer\lib\smtp-connection\index.js:755:14) at SMTPConnection._onSocketData (C:\Users\[Username]\Desktop\nodemailer\nodemailer-form\node_modules\nodemailer\lib\smtp-connection\index.js:193:44) at TLSSocket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) { code: 'EENVELOPE', response: '550 User [email_address] has exceeded its 24-hour sending limit. Messages to 5 recipients out of 5 allowed have been sent. Relay quota will reset in 16.50 hours.', responseCode: 550, command: 'MAIL FROM' }
咨询GoDaddy客服得知账户每日发送限额应为500封,但对方以Nodemailer是第三方应用为由不提供帮助;通过Outlook客户端可正常发送邮件,仅Web应用通过Nodemailer发送时受限于5封/天。
解决思路
调整SMTP连接配置
GoDaddy对第三方SMTP客户端的认证策略可能与桌面客户端不同,尝试修改配置:
方案1:切换到465端口并启用SSLservice: "Godaddy", host: "smtpout.secureserver.net", secure: true, // 替换原secureConnection字段 port: 465, auth: { user: "myemail@mydomain.com", pass: "mypassword", },方案2:保持587端口,添加TLS配置
service: "Godaddy", host: "smtpout.secureserver.net", secure: false, port: 587, auth: { user: "myemail@mydomain.com", pass: "mypassword", }, tls: { ciphers: 'SSLv3' }, requireTLS: true部分场景下,指定TLS加密套件可让GoDaddy将Nodemailer识别为合法客户端,解除限额限制。
明确向客服确认SMTP中继限额
再次联系GoDaddy客服,明确询问第三方SMTP中继的具体发送限额,而非通用账户的发送额度。部分套餐中,桌面客户端与SMTP中继的限额是分开设置的,客服可能混淆了两者的区别,要求对方查询账户的SMTP中继权限配置。改用GoDaddy官方API发送邮件
绕过SMTP协议,直接使用GoDaddy提供的邮件发送API进行调用,避免第三方SMTP客户端的限制。优化邮件发送方式(临时方案)
将多个收件人添加到同一邮件的bcc字段中,单封邮件覆盖多个收件人,减少发送次数,避免快速触发限额(注意控制收件人数量,避免被标记为垃圾邮件)。
内容的提问来源于stack exchange,提问作者GBOOKEY96
相关产品推荐
相关产品推荐

