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:
Instance Profile Credentials using Spring Cloud
How to Add a Single Element to a Stream
Giới thiệu về Stream API trong Java 8
A Guide to the Java ExecutorService
Simple Single Sign-On with Spring Security OAuth2
Java Program to Implement Iterative Deepening
Lấy ngày giờ hiện tại trong Java
Java Program to Implement Interpolation Search Algorithm
Converting a Stack Trace to a String in Java
An Intro to Spring Cloud Task
Một số ký tự đặc biệt trong Java
Intersection of Two Lists in Java
Getting Started with Custom Deserialization in Jackson
Sorting Query Results with Spring Data
Java Program to Implement Circular Singly Linked List
Spring Boot with Multiple SQL Import Files
Hướng dẫn Java Design Pattern – MVC
Java Program to Optimize Wire Length in Electrical Circuit
Spring Boot - Zuul Proxy Server and Routing
Java Program to Implement Hash Tables Chaining with List Heads
Java Program to Implement Karatsuba Multiplication Algorithm
Logout in an OAuth Secured Application
Guide To CompletableFuture
Java Program to find the peak element of an array using Binary Search approach
Binary Numbers in Java
Spring MVC Custom Validation
Java Program to Implement Quick sort
Java Program to Implement Sorted Singly Linked List
Format ZonedDateTime to String
Java Program to Implement Binomial Heap
Reactive WebSockets with Spring 5
Serialization và Deserialization trong java