云服务器上不允许你随便发邮件的,否则你想想,每个人都可以随便发邮件,你天天得收多少垃圾邮件。
nodejs代码加密,用Jshaman()
node.js中发送邮件可以使用nodemailer
-----
var mailer = require('nodemailer');
var transport = mailer.createTransport(configs.mail_opts);//1.0
var SITE_ROOT_URL = 'http://' + configs.sys.host;
/**
* Send an email
* @param {Object} data 邮件对象
*/
var sendMail = function (data, callback) {
transport.sendMail(data, function (err, info) {
if (err) {
console.log(err);
callback(err);
}
callback(err, info);
});
};
exports.sendMail = sendMail;
-------------------
调用
exports.sendMail({
from: from,
to: to,
subject: subject,
html: html
}, callback);
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: 'XXXXXXXXXXX@qq.com',
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
链接:
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
想问微博登录邮箱怎么修改 1、在微博0版本中,无法修改登录邮箱,可以修改手机号,打开软件,打开软件,点击页面底部的“我”,点击设置按钮,选择账号与安全,点击手机号,之后进行更改即可。2、登陆新浪微博账...
怎么投稿邮箱 投稿邮箱的具体步骤是:打开qq界面。将鼠标移在省略号上的时候,在跳出来的选项中选择我的邮箱。点击左侧写邮件。输入收件人的qq号、邮件的主题、正文的内容。确认无误后,点击发送就可以了。打开...
新浪邮箱被冻结怎么解决? 如果您的免费邮箱在90天内没有通过任何方式登陆(客户端、页面),那么该免费邮箱将会被冻结(不能再接收邮件);同时邮箱里面的一切数据将被清空,仅仅保留邮箱名称,如果再次登陆将会...
FX123盘点:以外汇为名已经跑路的资金盘,普顿PTFX,OTM奥美等还有哪些? 外汇市场龙蛇混杂,如今的市场上的外汇平台更是套着外汇壳子的资金盘,而且这些平台大多有着十分光鲜亮丽的包装,有十分厉害名...
汪文斌多大年龄 王文斌,男,1971年4月出生,大学毕业。现任中华人民共和国外交部新闻司副司长兼发言人。王文斌出生日期1971年4月国籍中国性别男人邮政中华人民共和国外交部发言人同种同文化之民族汉朝(...
怎样用苹果6手机登陆中海油系统的outlook? 1、首先打开手机主屏上的【设置】2、然后找到设置下的【邮件、通讯录、日历】3、接着点击【添加账户】4、选择要添加的邮箱,可以添加QQ邮箱、网易邮箱等5...