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:
So sánh HashSet, LinkedHashSet và TreeSet trong Java
Guide to DelayQueue
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Guava CharMatcher
Map Interface trong java
Quick Guide to the Java StringTokenizer
Hướng dẫn sử dụng Java Generics
Most commonly used String methods in Java
Mảng (Array) trong Java
Java Program to Implement Network Flow Problem
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS
Lớp HashMap trong Java
Guide to Java OutputStream
LinkedHashSet trong java
Introduction to Liquibase Rollback
Java Program to Implement Quick Sort with Given Complexity Constraint
Java – Convert File to InputStream
Java Program to Implement Heap
Java Program to Implement EnumMap API
HashMap trong Java hoạt động như thế nào?
Hướng dẫn Java Design Pattern – DAO
Java Program to Implement Insertion Sort
Call Methods at Runtime Using Java Reflection
Introduction to Project Reactor Bus
Default Password Encoder in Spring Security 5
TreeSet và sử dụng Comparable, Comparator trong java
An Example of Load Balancing with Zuul and Eureka
Lớp LinkedHashMap trong Java
Java Program to Generate a Graph for a Given Fixed Degree Sequence
A Guide to System.exit()
Java Program to Implement VList
Spring MVC Custom Validation