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 Implement Hash Tables
Convert String to int or Integer in Java
Guide to the Volatile Keyword in Java
How to Kill a Java Thread
Guide to Spring Cloud Kubernetes
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
The HttpMediaTypeNotAcceptableException in Spring MVC
Hamcrest Collections Cookbook
Java Program to Perform Deletion in a BST
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Java List UnsupportedOperationException
Serialize Only Fields that meet a Custom Criteria with Jackson
Java Program to Perform Left Rotation on a Binary Search Tree
Spring Boot - Eureka Server
Java Program to Check the Connectivity of Graph Using BFS
Guide to Java 8 groupingBy Collector
Spring Data JPA and Null Parameters
Java Program to Find Minimum Element in an Array using Linear Search
Java Program to Find Transitive Closure of a Graph
Spring Security OAuth2 – Simple Token Revocation
Tính đa hình (Polymorphism) trong Java
Guide to Guava Multimap
Java Program to Implement the RSA Algorithm
Java Program to Perform Searching Using Self-Organizing Lists
Java Program to Implement Circular Singly Linked List
Mệnh đề Switch-case trong java
Connect through a Proxy
Java Program to Implement the One Time Pad Algorithm
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Spring Boot - Batch Service
Introduction to Java 8 Streams
Java Program to Implement ArrayBlockingQueue API