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:
Posting with HttpClient
Hướng dẫn Java Design Pattern – Memento
Hướng dẫn sử dụng Lớp FilePermission trong java
Using JWT with Spring Security OAuth (legacy stack)
Flattening Nested Collections in Java
Creating a Generic Array in Java
How to Delay Code Execution in Java
Java Program to Perform Postorder Non-Recursive Traversal of a Given Binary Tree
Logout in an OAuth Secured Application
Jackson – Decide What Fields Get Serialized/Deserialized
A Guide to LinkedHashMap in Java
Hướng dẫn Java Design Pattern – Command
How to Manually Authenticate User with Spring Security
Java Program to Implement Ternary Search Algorithm
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Java Program to Implement CopyOnWriteArraySet API
Tránh lỗi NullPointerException trong Java như thế nào?
Integer Constant Pool trong Java
Java Program to Implement AVL Tree
A Quick Guide to Using Keycloak with Spring Boot
A Guide to BitSet in Java
Intro to Inversion of Control and Dependency Injection with Spring
Java Program to Perform Cryptography Using Transposition Technique
Spring Boot - Apache Kafka
Jackson vs Gson
Introduction to Java 8 Streams
So sánh HashMap và Hashtable trong Java
Java Program to Implement the MD5 Algorithm
Java Program to Solve TSP Using Minimum Spanning Trees
Comparing Arrays in Java
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Spring Boot - Actuator