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:
Creating a Custom Starter with Spring Boot
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Hướng dẫn sử dụng String Format trong Java
Java Program to Implement Gauss Seidel Method
RestTemplate Post Request with JSON
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Basic Authentication with the RestTemplate
Using Spring @ResponseStatus to Set HTTP Status Code
Java Program to Perform the Unique Factorization of a Given Number
Java Program to Implement Stack using Two Queues
Concurrent Test Execution in Spring 5
Send email with SMTPS (eg. Google GMail)
HttpClient 4 – Follow Redirects for POST
Java Program to implement Priority Queue
Java toString() Method
Java Program to Implement Affine Cipher
Debugging Reactive Streams in Java
Java – Reader to Byte Array
Get and Post Lists of Objects with RestTemplate
Java Program to Implement Hash Trie
A Guide to HashSet in Java
Java Program to Implement Bellman-Ford Algorithm
How to Get the Last Element of a Stream in Java?
Java 8 and Infinite Streams
HashSet trong Java hoạt động như thế nào?
Java Program to Implement Sieve Of Sundaram
Feign – Tạo ứng dụng Java RESTful Client
Java Program to Implement Sorted Doubly Linked List
Java Program to Implement Maximum Length Chain of Pairs
MyBatis with Spring
Control the Session with Spring Security
Java Program to Check whether Undirected Graph is Connected using BFS