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 sử dụng Java Generics
Java Program to Implement the Schonhage-Strassen Algorithm for Multiplication of Two Numbers
Introduction to Spring Data REST
Java Program to Implement ConcurrentLinkedQueue API
Hướng dẫn Java Design Pattern – Chain of Responsibility
Spring Boot - Sending Email
Configure a RestTemplate with RestTemplateBuilder
A Guide to System.exit()
Java Program to Check Whether an Undirected Graph Contains a Eulerian Path
Java Program to Solve any Linear Equation in One Variable
Java Program to Implement Brent Cycle Algorithm
Create Java Applet to Simulate Any Sorting Technique
Collect a Java Stream to an Immutable Collection
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
LIKE Queries in Spring JPA Repositories
Test a REST API with Java
Java Program to Implement AttributeList API
Control the Session with Spring Security
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Mapping Nested Values with Jackson
How to Get All Spring-Managed Beans?
Java Program to Implement RenderingHints API
Using the Map.Entry Java Class
Java – Try with Resources
Java Program to Find the Minimum value of Binary Search Tree
Introduction to Spring Data MongoDB
Java Program to Implement Singly Linked List
Java Program to Implement Euclid GCD Algorithm
Java Program to Implement Self organizing List
Generating Random Dates in Java
Spring Security 5 – OAuth2 Login
Java Program to Solve Knapsack Problem Using Dynamic Programming