我应该如何在 javascript 或 nodeJs 中验证电子邮件地址是不是存在和域名是不是存在?

Posted

技术标签:

【中文标题】我应该如何在 javascript 或 nodeJs 中验证电子邮件地址是不是存在和域名是不是存在?【英文标题】:How should I verify email address existence and domain name existence in javascript or nodeJs?我应该如何在 javascript 或 nodeJs 中验证电子邮件地址是否存在和域名是否存在? 【发布时间】:2018-08-25 03:20:21 【问题描述】:

我已经尝试了很多 npm 包来验证电子邮件地址和域名。 以下是我尝试过的一些 npm 包

email-check,
email-verify,
email-existence, 
legit,
email-validator and,
email validation 

所有这些都会导致域名存在和一些其他检查。 但我必须验证域中是否存在特定的电子邮件地址。 我该如何实现这个... 谁能帮我找出来 提前致谢!

【问题讨论】:

只需在用户提供的电子邮件中发送verify link 并让他们验证。大多数应用程序广泛使用此过程是有原因的。 是的,我正在使用它。但我想在不向用户发送电子邮件的情况下进行检查。这是我的担忧。 您无法以编程方式验证电子邮件地址。出于安全和隐私原因,服务器不允许这样做。 您可以尝试使用 npm legit,它会很方便地检查域的存在性,或者您可以使用付费服务的 Kick Box 验证 是的,@Gunasekaran 我正在使用 kickbox API ..但要求是不使用 That。 【参考方案1】:

今天(可能永远不会)以编程方式验证电子邮件地址是不可能的。

出于安全和隐私原因,服务器不允许这样做。

而且有充分的理由。通过这样的解决方案,垃圾邮件发送者等可以遍历所有服务器并获取每个可用的电子邮件地址。

请注意,有一些工具声称是电子邮件验证解决方案。他们通常使用 DNS 验证,包括 MX 记录查找,但他们无法 100% 准确地说出电子邮件地址是否存在,他们只能获取电子邮件服务器设置为他们提供的内容。


域名可以,NSLookup 是可以做到这一点的服务之一。


更新

我在 SO 找到了一些不错的读物(第一个实际上是骗子,虽然我自己无法关闭)

How to check if an email address exists without sending an email?

How to validate an email address using a regular expression?

How to validate an email address in javascript?

【讨论】:

非常感谢让我明白。

以上是关于我应该如何在 javascript 或 nodeJs 中验证电子邮件地址是不是存在和域名是不是存在?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vanilla Javascript 文件中导入 nodejs 模块

在 nodejs 上分析 JavaScript 代码 - 可能的方法

工作线程如何在Nodejs中工作?

如何按顺序执行javascript代码?

NodeJS 单线程 如何保证其安全,稳定性?

NodeJS + SocketIO 推送到移动应用