OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

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


分享到
分类 JS学习   关键字 Node.JS   发布 kris  1495107234579
注意 转载须保留原文链接,译文链接,作者译者等信息。  

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 记录相匹配,则证明此邮件来源合法。


社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  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的几种方法
  11. AirJD-简单好用的免费建站工具

 相关阅读 - JS学习
  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进程

 关键字 - Node.JS
  1. node.js中fs.stat里的atime,mtime,ctime,birthtime在debian下的更新规则与区别
  2. NodeJS的DNS使用:域名解析,MX记录查询,SPF反垃圾邮件测试
  3. 在nodejs中使用Redis缓存和查询数据及Session持久化(Express)
  4. 是什么让Node.js比Java更快?为什么NodeJS这么快?
  5. 用纯Node.JS弹出Windows系统消息提示框(MessageBox)
  6. 利用Windows注册表将你的Node.JS程序添加到右健菜单直接运行
  7. Node.js中的通用基础设计模式
  8. Node.JS中如何判断递归嵌套的所有回调函数已经执行完毕,以读取目录下所有文件为例:计数比Promise方式快将近一倍
  9. Node.js网页抓取:一个最简单的http请求客户端示例(request client)
  10. 6款基于Node.JS的开源内容管理和静态网站生成系统

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号