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:
Java Program to Check the Connectivity of Graph Using BFS
Java – Write an InputStream to a File
Comparing Strings in Java
Java Program to Implement the Schonhage-Strassen Algorithm for Multiplication of Two Numbers
Hướng dẫn Java Design Pattern – Iterator
Java Program to Implement Gauss Jordan Elimination
Get and Post Lists of Objects with RestTemplate
Spring’s RequestBody and ResponseBody Annotations
Handle EML file with JavaMail
Jackson – Change Name of Field
Using the Map.Entry Java Class
Xử lý ngoại lệ trong Java (Exception Handling)
Spring 5 Functional Bean Registration
A Guide to the Java LinkedList
Test a REST API with Java
Difference Between Wait and Sleep in Java
Java TreeMap vs HashMap
Spring Boot - Twilio
Java Program to Optimize Wire Length in Electrical Circuit
Spring Cloud Connectors and Heroku
Java Program to Check Whether a Directed Graph Contains a Eulerian Path
Java Program to Implement PrinterStateReasons API
Java Program to Find the Longest Subsequence Common to All Sequences in a Set of Sequences
String Operations with Java Streams
Java Program to Implement Coppersmith Freivald’s Algorithm
Giới thiệu Aspect Oriented Programming (AOP)
Spring MVC + Thymeleaf 3.0: New Features
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm
Convert Time to Milliseconds in Java
Send email with authentication
Java Program to Implement Circular Singly Linked List
Hướng dẫn Java Design Pattern – Chain of Responsibility