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:
Guide to Escaping Characters in Java RegExps
Tổng quan về ngôn ngữ lập trình java
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
Spring Boot - Google OAuth2 Sign-In
Spring Data JPA and Null Parameters
Hướng dẫn Java Design Pattern – Proxy
How to Read a File in Java
Java Program to Find the Number of Ways to Write a Number as the Sum of Numbers Smaller than Itself
Java Program to Compute the Area of a Triangle Using Determinants
Jackson – Change Name of Field
Spring Cloud AWS – Messaging Support
Testing in Spring Boot
MyBatis with Spring
Spring Boot - Tracing Micro Service Logs
How to Break from Java Stream forEach
Iterating over Enum Values in Java
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Introduction to Spring Data JDBC
Hướng dẫn sử dụng Java Reflection
HTTP Authentification and CGI/Servlet
Binary Numbers in Java
Converting Between a List and a Set in Java
Spring Boot - Apache Kafka
Spring Data Java 8 Support
Simultaneous Spring WebClient Calls
Spring Cloud Connectors and Heroku
Java Program to Implement Bellman-Ford Algorithm
Guide to WeakHashMap in Java
Spring Boot - Unit Test Cases
Java Program to Implement Fermat Primality Test Algorithm
Java Program to Perform Polygon Containment Test
Java Program to Implement Pagoda