I'm trying to connect my client to a gmail smtp server without using specific node-smtp libs ( i want to understand how sockets and smtp both work ), but after setting a connection to a server i get no response whatever i write to a socket. This is a part of my code:
var options = {
    host: 'smtp.gmail.com',
    username: '[email protected]',
    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');
    });
}
What i get in console is: CONNECTED TO: smtp.gmail.com:25 DATA: 220 mx.google.com ESMTP n7sm5406410lae.47 - gsmtp
That's all - no errors, no 5xx or 4xx responses, only 220 after establishing a connection and i don't understand why it happesns I will highly appreciate your help.
As a reference for future readers, you need to add a carriage return (\r) and newline (\n) character at the end of your commands:
client.write('HELO smtp.gmail.com\r\n');
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With