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 Generate N Number of Passwords of Length M Each
Marker Interface trong Java
Java NIO2 Path API
How to Get a Name of a Method Being Executed?
Guide to Escaping Characters in Java RegExps
Spring Security OAuth Login with WebFlux
Java Program to Implement Extended Euclid Algorithm
Java Program to Implement Threaded Binary Tree
How to Delay Code Execution in Java
Hướng dẫn Java Design Pattern – Prototype
Most commonly used String methods in Java
Convert Hex to ASCII in Java
An Intro to Spring Cloud Vault
Setting a Request Timeout for a Spring REST API
Java Program to Generate Random Partition out of a Given Set of Numbers or Characters
Sắp xếp trong Java 8
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Transactions with Spring and JPA
Spring Boot - Sending Email
Java Program to Find the Peak Element of an Array O(n) time (Naive Method)
Iterating over Enum Values in Java
Spring Boot Configuration with Jasypt
Spring Security Registration – Resend Verification Email
Java Program to Implement Fenwick Tree
Java Program to Find the Nearest Neighbor Using K-D Tree Search
JUnit5 @RunWith
Java Program for Douglas-Peucker Algorithm Implementation
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Java Program to Implement Heap
Spring Boot - Enabling Swagger2
LinkedList trong java