SMTP is the protocol used to send an email.
import java.net.*; import java.io.*; public class SendVietMXMail { public static void main(String s[]) { // // Send fake mail from Elvis Presley // // SendVietMXMail [mail server] [recipient address] // mail server can be hostname or IP address // // ex. SendVietMXMail mail.company.com myFriend@somewhere.vn // SendVietMXMail t = new SendVietMXMail(); t.sendMail(s[0], s[1]); } public void sendMail(String mailServer, String recipient) { try { Socket s = new Socket(mailServer, 25); BufferedReader in = new BufferedReader (new InputStreamReader(s.getInputStream(), "8859_1")); BufferedWriter out = new BufferedWriter (new OutputStreamWriter(s.getOutputStream(), "8859_1")); send(in, out, "HELO theWorld"); // warning : some mail server validate the sender address // in the MAIL FROm command, put your real address here send(in, out, "MAIL FROM: <viet.mai@maixuanviet.com>"); send(in, out, "RCPT TO: " + recipient); send(in, out, "DATA"); send(out, "Subject: In the ghetto"); send(out, "From: Viet Mai <viet.mai@maixuanviet.com>"); send (out, "\n"); // message body send(out, "I'm alive. Help me!"); send(out, "\n.\n"); send(in, out, "QUIT"); s.close(); } catch (Exception e) { e.printStackTrace(); } } public void send(BufferedReader in, BufferedWriter out, String s) { try { out.write(s + "\n"); out.flush(); System.out.println(s); s = in.readLine(); System.out.println(s); } catch (Exception e) { e.printStackTrace(); } } public void send(BufferedWriter out, String s) { try { out.write(s + "\n"); out.flush(); System.out.println(s); } catch (Exception e) { e.printStackTrace(); } } }
Done! Happy Coding!
Related posts:
Comparing Objects in Java
REST Pagination in Spring
A Quick JUnit vs TestNG Comparison
Adding Shutdown Hooks for JVM Applications
Guide to CopyOnWriteArrayList
Java Program to Represent Graph Using Adjacency Matrix
Java Program to Represent Graph Using Incidence List
Java Program to Generate Random Numbers Using Multiply with Carry Method
New Features in Java 9
Introduction to Project Reactor Bus
Giới thiệu Google Guice – Binding
Hướng dẫn Java Design Pattern – Visitor
A Guide to Apache Commons Collections CollectionUtils
Consumer trong Java 8
Java Program to Find the Vertex Connectivity of a Graph
Read an Outlook MSG file
RestTemplate Post Request with JSON
Java Program to Find the Edge Connectivity of a Graph
Netflix Archaius with Various Database Configurations
Spring Cloud – Tracing Services with Zipkin
Spring RestTemplate Request/Response Logging
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Guide to Character Encoding
Circular Dependencies in Spring
Java Program to Solve Set Cover Problem assuming at max 2 Elements in a Subset
Hướng dẫn Java Design Pattern – Factory Method
Guide to java.util.concurrent.BlockingQueue
Guide to ThreadLocalRandom in Java
Getting a File’s Mime Type in Java
Shuffling Collections In Java
HttpClient 4 – Follow Redirects for POST
Set Interface trong Java