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 下载并安装最新版本的电子邮件验证程序包。

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

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

Here’s a simple Express.js app that only contains a single endpoint, /users, which returns a simple hello world response:

            
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);
            
            

You need to put this code into a app.js file and before you can run it, you create a folder “routes” and inside it place the users.js file which will contain the following code.

                    
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;
                    
                

The const verifier = new (require('email-verifier'))("Your-api-key"); line initializes the EmailVerifier class. Now you can use verifier.verify() method in your app. In the code above this method is called when the app receives a POST /users request. The verifier.verify(req.body.email, (err, data) => { line illustrates a verify method call. We assume that req.body.email contains an email address from the user input, so we want to verify it. The callback function has 2 arguments: err and 数据. If the first one isn’t null, it means that something went wrong. The second argument is a result of the API call. In the following lines we check if the email has a valid format, if the host has DNS records, if the mail server refuses SMTP connection and if the host provides disposable email addresses.

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

            
{
    "emailAddress": "[email protected]",
    "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

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