diff options
Diffstat (limited to 'tools/node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/examples/smtp.js')
-rw-r--r-- | tools/node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/examples/smtp.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tools/node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/examples/smtp.js b/tools/node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/examples/smtp.js new file mode 100644 index 0000000..4ee2763 --- /dev/null +++ b/tools/node_modules/nodemailer/node_modules/simplesmtp/node_modules/rai/examples/smtp.js @@ -0,0 +1,73 @@ +var RAIServer = require("../lib/rai").RAIServer; + +var server = new RAIServer({debug: true, timeout:25*1000}); + +server.listen(1234, function(err){ + console.log(err || "listening on port 1234...") +}); + +server.on("connection", function(socket){ + + socket.send("220 foo.bar"); // send banner greeting + + socket.on("command", function(command, payload){ + + command = (command || "").toString().toUpperCase().trim(); + + switch(command){ + case "EHLO": + socket.send("250-foo.bar at your service\r\n"+ + "250-PIPELINING\r\n" + + "250-8BITMIME\r\n"+ + "250 STARTTLS"); + break; + case "STARTTLS": + socket.send("220 Ready to start TLS"); + socket.startTLS(); + break; + case "MAIL": + socket.send("250 Ok"); + break; + case "RCPT": + socket.send("250 Ok"); + break; + case "DATA": + socket.send("354 End with <CR><LF>.<CR><LF>"); + socket.startDataMode(); + break; + case "QUIT": + socket.send("221 Good bye"); + socket.end(); + break; + default: + socket.send("500 Unknown command"); + } + + }); + + socket.on("tls", function(data){ + console.log("TLS STARTED"); + }); + + socket.on("data", function(data){ + console.log("MAIL DATA", data); + }); + + socket.on("ready", function(data){ + console.log("DATA READY"); + socket.send("250 Ok: queued as FOOBAR"); + }); + + socket.on("timeout", function(data){ + console.log("TIMEOUT"); + }); + + socket.on("error", function(err){ + console.log("ERROR:", err.message || err); + }); + + socket.on("end", function(){ + console.log("Connection closed"); + }); + +});
\ No newline at end of file |