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:
Hướng dẫn Java Design Pattern – Factory Method
Why String is Immutable in Java?
wait() and notify() Methods in Java
The Thread.join() Method in Java
Java Program to Generate Date Between Given Range
String Initialization in Java
Java Program to Implement Solovay Strassen Primality Test Algorithm
Spring WebClient and OAuth2 Support
DistinctBy in the Java Stream API
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Java Program to Perform Inorder Recursive Traversal of a Given Binary Tree
Java Collections Interview Questions
Giới thiệu thư viện Apache Commons Chain
Java Program to Solve any Linear Equation in One Variable
Apache Camel with Spring Boot
Java Program to Implement Sparse Matrix
How to Get All Spring-Managed Beans?
Java Program to Implement PriorityBlockingQueue API
Java Switch Statement
Java Program to Implement Gaussian Elimination Algorithm
Tính kế thừa (Inheritance) trong java
Tổng quan về ngôn ngữ lập trình java
Spring JDBC
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Spring Cloud AWS – Messaging Support
Java – Write to File
String Joiner trong Java 8
Tips for dealing with HTTP-related problems
“Stream has already been operated upon or closed” Exception in Java
Different Ways to Capture Java Heap Dumps
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers