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 Program to Implement the linear congruential generator for Pseudo Random Number Generation
Returning Custom Status Codes from Spring Controllers
Generic Constructors in Java
Java Program to Implement Efficient O(log n) Fibonacci generator
Spring Boot - Application Properties
Java CyclicBarrier vs CountDownLatch
Logging in Spring Boot
HttpClient 4 Cookbook
Quick Guide to Spring MVC with Velocity
Spring Security – security none, filters none, access permitAll
Java NIO2 Path API
Java Program to Generate Random Hexadecimal Byte
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
A Guide to Iterator in Java
Java Program to implement Sparse Vector
Java Program to Implement Binary Tree
Dockerizing a Spring Boot Application
Encode a String to UTF-8 in Java
Hướng dẫn sử dụng biểu thức chính quy (Regular Expression) trong Java
Java Program to Implement Bit Array
So sánh HashMap và Hashtable trong Java
Guide to Escaping Characters in Java RegExps
Spring Boot Application as a Service
Immutable Objects in Java
Mệnh đề Switch-case trong java
Constructor Dependency Injection in Spring
Java 8 – Powerful Comparison with Lambdas
Java Program to Implement Bresenham Line Algorithm
Java Program to Perform Polygon Containment Test
Java Program to Implement the Bin Packing Algorithm
Spring Boot - Apache Kafka
Spring MVC Custom Validation