Express.js |开发者库 |电子邮件验证 API | WhoisXML API

Express.js 电子邮件验证客户端库 Express.js 电子邮件验证客户端库

如何在 Express.js 中验证电子邮件地址

如果您正在使用Express.js构建网站(或 API),验证用户的电子邮件地址是否真实是非常必要的。验证过程通常包括查验黑名单中的电子邮件,以及检查建立至邮件服务器的 SMTP 连接。可惜这个过程并不简单。

验证电子邮件地址并不容易,需回答大量问题。如,用户需要检查电子邮件地址的主机部分。是真实域名吗?是否有 DNS 记录,能否连接到 DNS 记录中指定的 IP?是否可设置 SMTP 连接?该服务是否提供一次性电子邮件地址?只需向电子邮件验证 API发出一次请求即可获得所有这些问题的答案。

今天,我将带您了解集成的电子邮件验证器开发人员库示例。

创建电子邮件验证 API 查询帐户

使用电子邮件验证程序库,第一件事是创建一个免费的电子邮件验证 API 帐户:https: //emailverification.whoisxmlapi.com/signup

电子邮件验证 API 是最好且最便宜的电子邮件验证服务之一。用户使用电子邮件验证 API 服务可每月免费进行1,000 次查询,也可以每月支付 9 美元的固定费用查询10,000次。其他资费标准可点击此处获取。

创建并登录电子邮件验证 API 帐户后,查看帐户的产品页面并复制 API 密钥,并使用该密钥进行查询。

安装电子邮件验证程序包

帐户设置完毕,随后需要做的是安装邮件验证器的 NPM 库。从命令行运行以下命令:

            
$ npm install email-verifier
            
            

将从 NPM 下载并安装最新版本的电子邮件验证程序包。

使用电子邮件验证器执行电子邮件验证请求

在安装完帐户和电子邮件验证程序包后,可运行验证用户电子邮件地址的一些代码。

这是一个简单的 Express.js 应用程序,仅包含一个端点, /users,它返回一个简单的 hello world 响应:

            
const express = require('express');

const usersRouter = require('./routes/users');

const app = express();

app.use(express.urlencoded({ extended: false }));

app.use(express.json());

app.use('/users', usersRouter);

app.listen(3000);
            
            

您需要将此代码放入 app.js 文件,在运行它之前,您创建一个文件夹“routes”并在其中放置 users.js 文件,其中将包含以下代码。

                    
const express = require('express');
const router = express.Router();
const verifier = new(require('email-verifier'))("Your-api-key");

router.post('/', function(req, res, next) {
    verifier.verify(req.body.email, (err, data) => {
        if (err) {
            console.error(err);
            return res
                .status(500)
                .send({
                    message: 'Internal error'
                });
        }
        console.log(data);
        if (data.formatCheck === 'true' &&
            data.disposableCheck === 'false' &&
            data.dnsCheck === ’true’ &&
            data.smtpCheck !== 'false'
        ) {
            return res.send({
                saved: true
            });
        }
        return res
            .status(400)
            .send({
                message: 'Invalid or disposable email.'
            });
    });
});

module.exports = router;
                    
                

const verifier = new (require('email-verifier'))("Your-api-key"); 行初始化 EmailVerifier 类。现在你可以使用 验证者.verify() 您的应用程序中的方法。在上面的代码中,当应用程序收到一个 发布/用户 要求。这 verifier.verify(req.body.email, (err, data) => { 线说明了一个 核实 方法调用。我们假设 请求正文.电子邮件 包含用户输入的电子邮件地址,因此我们要验证它。回调函数有 2 个参数: 数据。如果第一个不是 无效的,这意味着出了问题。第二个参数是 API 调用的结果。在以下几行中,我们检查电子邮件是否具有有效格式、主机是否有 DNS 记录、邮件服务器是否拒绝 SMTP 连接以及主机是否提供一次性电子邮件地址。

数据 参数可以存储这样的 JavaScript 对象:

            
{
    "emailAddress": "test.email@gmail.com",
    "formatCheck": "true",
    "smtpCheck": "false",
    "dnsCheck": "true",
    "freeCheck": "true",
    "disposableCheck": "false",
    "catchAllCheck": "false",
    "mxRecords": [
        "alt3.gmail-smtp-in.l.google.com",
        "alt1.gmail-smtp-in.l.google.com",
        "alt2.gmail-smtp-in.l.google.com",
        "alt4.gmail-smtp-in.l.google.com",
        "gmail-smtp-in.l.google.com"
    ],
    "audit": {
        "auditCreatedDate": "2018-11-14 13:05:09.000 UTC",
        "auditUpdatedDate": "2018-11-14 13:05:09.000 UTC"
    }
}
            
            

电子邮件验证器总结

验证电子邮件地址可能很棘手,但电子邮件验证器电子邮件验证 API相结合使其变得简单且便宜。使用新的电子邮件验证器库,可以轻松地为最大的企业站点构建和管理电子邮件地址验证。

要了解更多信息,请查看 GitHub 上的电子邮件验证程序库,您可以在其中找到所有文档和更深入的信息:https: //github.com/whois-api-llc/email-verifier

如果有任何疑问,请给我们发送电子邮件