与节点的SMTP连接

我试图连接我的客户端到Gmail邮件服务器,而不使用特定的节点smtp库(我想了解如何套接字和smtp都工作),但设置连接到服务器后,我没有得到任何回应,无论我写给sockets。 这是我的代码的一部分:

var options = { host: 'smtp.gmail.com', username: 'mylogin@gmail.com', password: 'mypass', port: 25 }, net = require('net'); exports.addEmail = function(req, res) { var client = net.connect(options.port, options.host, function() { console.log('CONNECTED TO: ' + options.host + ':' + options.port); //i can write to a socket anything, still no response client.write('HELO smtp.gmail.com'); }); client.on('data', function(data) { console.log('DATA: ' + data); }); client.on('error', function(err) { console.log(err );}) client.on('close', function() { console.log('Connection closed'); }); } 

我在控制台中得到的是:连接到:smtp.gmail.com:25数据:220 mx.google.com ESMTP n7sm5406410lae.47 – gsmtp

这一切 – 没有错误,没有5xx或4xx响应,只有220build立连接后,我不明白为什么发生,我将非常感谢您的帮助。

作为未来读者的参考,您需要在命令的末尾添加回车符(\ r)和换行符(\ n):

 client.write('HELO smtp.gmail.com\r\n');