使用nodejs接收pop3协议的邮件

JavaScript011

使用nodejs接收pop3协议的邮件,第1张

NodeJs 提供了SSL/TLS 这样的安全连接协议库,so 我们可以用这样的协议与邮件服务器通讯。要写完一个完整的收邮件的工具还是需要一定的时间,流程大致如上面的流程图了。

那么什么是SSL?什么是TLS?

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。

TLS 的最大优势就在于:TLS 是独立于应用协议。高层协议可以透明地分布在 TLS 协议上面。然而,TLS 标准并没有规定应用程序如何在 TLS 上增加安全性;它把如何启动 TLS 握手协议以及如何解释交换的认证证书的决定权留给协议的设计者和实施者来判断。

可以看出为了邮件的安全性,采用SSL/TLS的通讯技术还是有必要的。废话不说,看代码:

首先引入库 var tls = require('tls')

var options = {

host: 'pop.qq.com',

port: 995,

user: '[email protected]',

pass: 'XXXXXXXXXX'

}

var Socket = tls.connect(options.port, options.host, cb_connected)

//注册事件-连接回调

Socket.on('connect', cb_connecting)

//注册事件-服务器返回数据处理

Socket.on('data', cb_Server_DataBack)

上面的cb_XXXX都是回调函数。至于端口和服务器地址大家参看邮件服务提供商的帮助了,是不是很简单,3行代码。

剩余的就是用户的操作,输入命令,执行,显示操作结果即可。

利用socket将命令写到服务端,like this : Socket.write("命令 \r\n")顺带一提命令以\r\n作为结束标记一定要写。

pop3协议的通信是一问一答的模式,想要做批量命令操作的小伙伴就要动点脑了

作者:DrS6

链接:https://www.jianshu.com/p/a54823eb0dbd

来源:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

当然会,github默认会将你关注项目的更新、回复、issue等动态都发邮件告知你,vue.js是当下非常热门的框架,参与者众多,自然邮件不断了。你可以取消关注(unwatch)或更改订阅条件(接收哪些邮件通知)。

因为你的这两句

var ads = document.getElementsByName("address")[i]

var cal = document.getElementsByName("call")[i]

得到的结果 ads 和 cal 都是一个元素对象,也就是 object,你需要得到它们的 value(值)

改为

var ads = document.getElementsByName("address")[i].value

var cal = document.getElementsByName("call")[i].value

就对了