NodeMailer:getaddrinfo错误
Posted
技术标签:
【中文标题】NodeMailer:getaddrinfo错误【英文标题】:NodeMailer : getaddrinfo Error 【发布时间】:2015-05-30 17:26:30 【问题描述】:寻找对我遇到的错误的一些见解。
在 transporter.sendmail(func(err, info)) 上,err 变量返回:
[Error: getaddrinfo ENOTFOUND smtp.gmail.com]
code: 'ENOTFOUND',
errno: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'smtp.gmail.com'
我在他们的网站或 github 上没有看到任何关于 nodemailer 的错误文档,而且我在 Google 搜索中也没有发现任何有用的信息。我看到的最接近的是this SO post。我正在尝试通过 cron 作业每周发送大约 50 封电子邮件。
我已经尝试过使用和不使用 nodemailer-smtp-pool 包,我的传输器目前看起来像这样:
var transporter = nodemailer.createTransport(smtpPool(
service: 'gmail',
auth:
user: 'xxx@gmail.com',
pass: 'xxx'
,
maxConnections: 5,
maxMessages: 200
));
我还没有使用 XOATH,因为我不认为我需要这样做。我已经删除了我正在使用的 gmail 帐户的 DisplayUnlockCaptcha,但我认为这不相关。对于它的价值,我正在为这个应用程序使用 MEAN 堆栈。
当 nodemailer 进行 getaddrinfo 调用时,似乎找不到“smtp.gmail.com”,但我不明白为什么。
感谢任何见解
编辑:
来自nodemailer的开发者:
ENOTFOUND 表示应用无法解析 DNS A 记录 smtp.gmail.com。您的 DNS 服务器可能有问题。这是 由 Node 而不是 Nodemailer 处理,Nodemailer 无法处理 如果未解析主机名,请执行此操作。如果这种情况随机发生,那么您 可以编辑您的应用程序,稍后再试。
而且它看起来不像 nodemailer 支持代理,或者从未计划支持。对我来说似乎是一个死胡同。
【问题讨论】:
你试过使用'secure: true'吗?使用主机:smtp.gmail.com 和端口:465 而不是服务选项怎么样? 我使用 465 并专门允许和解锁 gmail 安全设置中的应用程序访问。 【参考方案1】:我的 nodemailer 设置出现了同样的错误,我通过将 gmail 密码更改为不包含任何特殊字符来修复它。
【讨论】:
以上是关于NodeMailer:getaddrinfo错误的主要内容,如果未能解决你的问题,请参考以下文章
为啥nodemailer在这里给出错误|| UnhandledPromiseRejectionWarning ||未定义收件人
带有 NodeMailer 的 Zoho 不工作错误代码:“EDNS”