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 IdentityHashMap API
Java Program to Implement Rope
Đồng bộ hóa các luồng trong Java
Entity To DTO Conversion for a Spring REST API
Wiring in Spring: @Autowired, @Resource and @Inject
Java Program to Generate Date Between Given Range
Compare Two JSON Objects with Jackson
Java Program to Implement the Schonhage-Strassen Algorithm for Multiplication of Two Numbers
Java Program to Perform Deletion in a BST
CharSequence vs. String in Java
Java Program to Find a Good Feedback Edge Set in a Graph
Java Program to Implement a Binary Search Tree using Linked Lists
Hướng dẫn Java Design Pattern – MVC
Daemon Threads in Java
Java Program to Implement Knight’s Tour Problem
Java Program to Implement Meldable Heap
Validate email address exists or not by Java Code
Reversing a Linked List in Java
Java Program to Implement Attribute API
Converting Java Date to OffsetDateTime
Iterating over Enum Values in Java
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm
An Introduction to Java.util.Hashtable Class
Encode/Decode to/from Base64
Java Program to Implement ArrayList API
Apache Commons Collections OrderedMap
Versioning a REST API
Java Program to Implement the Program Used in grep/egrep/fgrep
The HttpMediaTypeNotAcceptableException in Spring MVC
Format ZonedDateTime to String
Tips for dealing with HTTP-related problems
Spring MVC Async vs Spring WebFlux