Mega Code Archive

 
Categories / Java / Network Protocol
 

A Thin SMTP Client

import java.io.DataInputStream; import java.io.DataOutputStream; import java.net.Socket; import java.text.DateFormat; import java.util.Date; import java.util.Locale; public class Main {   public static void main(String[] args) throws Exception {     String host = "host";     int port = 25;     String from = "from@from.net";     String toAddr = "to@to.net";     Socket servSocket = new Socket(host, port);     DataOutputStream os = new DataOutputStream(servSocket.getOutputStream());     DataInputStream is = new DataInputStream(servSocket.getInputStream());     if (servSocket != null && os != null && is != null) {       os.writeBytes("HELO\r\n");       os.writeBytes("MAIL From:" + from + " \r\n");       os.writeBytes("RCPT To:" + toAddr + "\r\n");       os.writeBytes("DATA\r\n");       os.writeBytes("X-Mailer: Java\r\n");       os.writeBytes("DATE: " + DateFormat.getDateInstance(DateFormat.FULL, Locale.US).format(new Date()) + "\r\n");       os.writeBytes("From:" + from + "\r\n");       os.writeBytes("To:" + toAddr + "\r\n");     }     os.writeBytes("Subject:\r\n");     os.writeBytes("body\r\n");     os.writeBytes("\r\n.\r\n");     os.writeBytes("QUIT\r\n");     String responseline;     while ((responseline = is.readUTF()) != null) {        if (responseline.indexOf("Ok") != -1)         break;     }   } }