NodeJS的DNS使用:域名解析,MX记录查询,SPF反垃圾邮件测试


发布者 kris  发布时间 1495107234579
关键字 JS学习  Node.JS 

Node.js 有一个专门用于解析域名的模块dns。引入DNS 模块语法格式如下:

var dns = require("dns")

解析域名IP地址:

通过lookup可以查询某个域名的ip地址:

var dns = require('dns');

dns.lookup('www.github.com', function onLookup(err, address, family) {
   console.log('ip', address);
   dns.reverse(address, function (err, hostnames) {
       if (err) {
          console.log(err.stack);
       }

       console.log('反向解析 ' + address + ': ' + JSON.stringify(hostnames));
    });  
});

输出:

ip 192.30.252.130
reverse ["github.com"]

MX记录查询

MX(Mail Exchanger) 是邮件交换记录,MX记录也叫做邮件路由记录,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。

通过 dns.resolveMx 可以查询到某域名后缀的邮件服务地址:

dns.resolveMx('cn.oncedoc.com', function() {
  console.log('mx cn.oncedoc.com')
  console.log(arguments)
})

输出结果:

mx cn.oncedoc.com
{ '0': null,
  '1': [ { exchange: 'mx.oncedoc.com', priority: 5 } ] }

TXT查询

SPF是为了防范垃圾邮件而提出来的一种DNS记录类型,它是一种TXT类型的记录,它用于登记某个域名拥有的用来外发邮件的所有IP地址。

通过解析域名的SPF记录,我们可以检查某个发送邮件的IP地址是否合法:

dns.resolveTxt('cn.oncedoc.com', function() {
  console.log('txt cn.oncedoc.com')
  console.log(arguments)
})

结果

txt cn.oncedoc.com
{ '0': null, '1': [ [ 'v=spf1 ip4:139.199.62.46 -all' ] ] }

如果向你发送邮件的IP地址,与发信人的域名 spf 记录相匹配,则证明此邮件来源合法。










 热门文章 - 分享最多
  1. JavaScript使用ES6的Class面向对象继承时 this is not defined 解决方法
  2. Docker改名Moby:急于商业化陷入品牌更名乱象
  3. Java已快过时?斯坦福大学将JavaScript作为计算机科学入门课
  4. TCP/UDP协议比较:在Node.JS中UDP服务器和客户端通信示例
  5. Node.JS通过原型和类继承EventEmitter,实现收发事件的几种方法
  6. 如何基于SVG矢量图制作一个可填写信息的可视化表单-OnceVI
  7. "永恒之蓝"比特币勒索病毒(WannaCry)的攻击原理
  8. 周鸿祎:一些程序员没有商业意识,却又很自负,一看就知道不会创业
  9. Node.js网页抓取:一个最简单的http请求客户端示例(request client)
  10. Node.JS更改Windows注册表regedit的几种方法

 相关阅读
  1. Node.JS如何调用Chrome打开浏览器链接地址
  2. 用纯Node.JS弹出Windows系统消息提示框(MessageBox)
  3. 利用Windows注册表将你的Node.JS程序添加到右健菜单直接运行
  4. JavaScript中splice与slice的区别、数组的复制以及在指定位置添加删除元素
  5. Node.JS中如何判断递归嵌套的所有回调函数已经执行完毕,以读取目录下所有文件为例:计数比Promise方式快将近一倍
  6. Node.js网页抓取:一个最简单的http请求客户端示例(request client)
  7. JavaScrip字符串模板表达式中的反引号怎么打?
  8. Node.JS用Socket实现FTP Server服务器和Client客户端
  9. Node.JS更改Windows注册表regedit的几种方法
  10. Debian下设置Linux Shell脚本开机自动启动Node.JS进程

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA