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:
REST Web service: Basic Authentication trong Jersey 2.x
Introduction to Spring Cloud Netflix – Eureka
Java Timer
Automatic Property Expansion with Spring Boot
Overview of Spring Boot Dev Tools
Java Program to Generate All Pairs of Subsets Whose Union Make the Set
XML-Based Injection in Spring
Using a Spring Cloud App Starter
Guide to Spring @Autowired
Giới thiệu JDBC Connection Pool
Java Program to Implement Quick Sort with Given Complexity Constraint
A Custom Media Type for a Spring REST API
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Java Program to Implement Gauss Jordan Elimination
Why String is Immutable in Java?
Spring @Primary Annotation
Java Program to Implement Coppersmith Freivald’s Algorithm
Java Program to Decode a Message Encoded Using Playfair Cipher
Java Program to Generate Date Between Given Range
Join and Split Arrays and Collections in Java
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Tạo ứng dụng Java RESTful Client với thư viện OkHttp
Performance Difference Between save() and saveAll() in Spring Data
String Initialization in Java
Add Multiple Items to an Java ArrayList
Java Program to Implement Best-First Search
Giới thiệu Google Guice – Aspect Oriented Programming (AOP)
Assert an Exception is Thrown in JUnit 4 and 5
Using a Custom Spring MVC’s Handler Interceptor to Manage Sessions
Guide to the Synchronized Keyword in Java
Control Structures in Java
HttpClient 4 – Follow Redirects for POST