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 CyclicBarrier vs CountDownLatch
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS
Java Program to Implement Solovay Strassen Primality Test Algorithm
Các chương trình minh họa sử dụng Cấu trúc điều khiển trong Java
Quản lý bộ nhớ trong Java với Heap Space vs Stack
Java Program to Perform Searching Using Self-Organizing Lists
Java Program to Generate Random Hexadecimal Byte
Hướng dẫn sử dụng String Format trong Java
Java – InputStream to Reader
Spring Boot Application as a Service
Sort a HashMap in Java
Java Program to Implement EnumMap API
Phương thức tham chiếu trong Java 8 – Method References
Collection trong java
Apache Camel with Spring Boot
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Logging in Spring Boot
Java Program to Implement Direct Addressing Tables
Working with Network Interfaces in Java
The “final” Keyword in Java
Function trong Java 8
Java Program to Implement Hopcroft Algorithm
Java Program to Construct an Expression Tree for an Prefix Expression
Java 8 Stream findFirst() vs. findAny()
Java Program to Implement Patricia Trie
Java Program to Implement Bubble Sort
Introduction to Java Serialization
Tính trừu tượng (Abstraction) trong Java
Remove the First Element from a List
An Intro to Spring Cloud Contract
Java Program to Implement LinkedBlockingQueue API