npm 包 spf-validator-dns 使用教程

阅读时长 4 分钟读完

SPF(Sender Policy Framework)是一种用于验证发件人的邮件发送权限的技术,它通过 DNS 来验证发件人是否具有发送该邮件的合法权利。而 spf-validator-dns 是一款可以检测和验证发件人的邮件发送权限的 npm 库,本文将详细介绍该库的使用方法,并提供示例代码。

安装

使用 npm 进行安装:

引入库:

使用

使用 spf-validator-dns 可以验证一个发件人是否被授权发送邮件,库提供了两个方法 spfValidator.getSpf(domain)spfValidator.checkHost(ip, domain),分别用于获取 SPF 记录和验证 IP 地址。

getSpf(domain)

该函数用于获取某个域名的 SPF 记录,它返回一个 Promise,可以使用 then 方法获取结果:

除了 spf 属性,返回结果还包含:

  • domain:被查询的域名
  • has_spf_record:是否有 SPF 记录
  • spf_error:SPF 记录中的错误信息

checkHost(ip, domain)

该函数用于验证某个 IP 是否被授权发送某个域名的邮件,它返回一个 Promise,可以使用 then 方法获取结果:

-- -------------------- ---- -------
---------------------------------------- -------------
  ------------ -- -
    -- --------------------- -
      --------------- -- ---------- -- ---- ----- --- ---------
    - ---- -
      --------------- -- --- ---------- -- ---- ----- --- ---------
    -
  --
  ------------ -- -
    ---------------------
  ---

除了 isAuthorized 属性,返回结果还包含:

  • domain:被验证的域名
  • ip_address:被验证的 IP 地址
  • spf_record:该域名的 SPF 记录
  • spf_results:SPF 验证的结果

示例代码

下面是一个完整的使用示例:

-- -------------------- ---- -------
----- ------------ - -----------------------------

---------------------------------
  ------------ -- -
    ------------------------

    ---------------------------------------- -------------
      ------------ -- -
        -- --------------------- -
          --------------- -- ---------- -- ---- ----- --- ---------
        - ---- -
          --------------- -- --- ---------- -- ---- ----- --- ---------
        -
      --
      ------------ -- -
        ---------------------
      ---

  --
  ------------ -- -
    ---------------------
  ---

在上面的代码中,首先调用了 getSpf 函数获取 google.com 的 SPF 记录,然后再验证 173.255.115.30 是否被授权发送该域名的邮件。

总结

通过 spf-validator-dns 库,我们可以方便地验证发件人是否被授权发送某个域名的邮件,提高邮件的安全性。除此之外,该库的功能也可以被拓展,比如可以根据 SPF 记录规则,自动判断当前 IP 是否允许发送邮件,从而提供更多的邮件验证服务。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600670a58ccae46eb111f15b

纠错
反馈