Simple email:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
class SimpleMail {
public static void main(String[] args) throws Exception{
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "mymail.server.org");
props.setProperty("mail.user", "emailuser");
props.setProperty("mail.password", "");
Session mailSession = Session.getDefaultInstance(props, null);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setSubject("Testing javamail plain");
message.setContent("This is a test", "text/plain");
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("maixuanviet.com@gmail.com"));
transport.connect();
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
transport.close();
}
}
HTML Email:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
class SimpleHTMLMail {
public static void main(String[] args) throws Exception{
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "mymail.server.org");
props.setProperty("mail.user", "emailuser");
props.setProperty("mail.password", "");
Session mailSession = Session.getDefaultInstance(props, null);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setSubject("Testing javamail html");
message.setContent
("This is a test <b>HOWTO<b>", "text/html; charset=ISO-8859-1");
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("maixuanviet.com@gmail.com"));
transport.connect();
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
transport.close();
}
}
Email with attachment:
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.FileDataSource;
import javax.activation.DataHandler;
import java.util.Properties;
class SimpleMailWithAttachment {
public static void main(String[] args) throws Exception{
boolean debug = false;
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", "mymail.server.org");
props.setProperty("mail.user", "emailuser");
props.setProperty("mail.password", "");
Session mailSession = Session.getDefaultInstance(props, null);
mailSession.setDebug(debug);
Transport transport = mailSession.getTransport();
MimeMessage message = new MimeMessage(mailSession);
message.setSubject("Testing javamail with attachment");
MimeBodyPart textPart = new MimeBodyPart();
textPart.setContent("<h1>Check attachment</h1>", "text/html");
MimeBodyPart attachFilePart = new MimeBodyPart();
FileDataSource fds =
new FileDataSource("SimpleMailWithAttachment.java");
attachFilePart.setDataHandler(new DataHandler(fds));
attachFilePart.setFileName(fds.getName());
Multipart mp = new MimeMultipart();
mp.addBodyPart(textPart);
mp.addBodyPart(attachFilePart);
message.setContent(mp);
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("maixuanviet.com@gmail.com"));
transport.connect();
transport.sendMessage(message,
message.getRecipients(Message.RecipientType.TO));
transport.close();
}
}
Done! Happy Coding!
Related posts:
Flattening Nested Collections in Java
Pagination and Sorting using Spring Data JPA
Lớp Properties trong java
Spring Boot - Apache Kafka
Java Program to subtract two large numbers using Linked Lists
JUnit 5 for Kotlin Developers
Logging a Reactive Sequence
Test a REST API with Java
Wiring in Spring: @Autowired, @Resource and @Inject
Java Program to Implement Disjoint Set Data Structure
Giới thiệu Json Web Token (JWT)
Java Program to Implement LinkedHashMap API
Working with Network Interfaces in Java
So sánh HashMap và HashSet trong Java
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Java Program to Find Transitive Closure of a Graph
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Java Program to Implement ArrayDeque API
Entity To DTO Conversion for a Spring REST API
Java Program to Solve the 0-1 Knapsack Problem
Create a Custom Exception in Java
Transactions with Spring and JPA
Registration – Password Strength and Rules
New Features in Java 8
How to Change the Default Port in Spring Boot
Java Program to Implement the One Time Pad Algorithm
Marker Interface trong Java
Java Program to Implement Patricia Trie
Java – Generate Random String
Lớp lồng nhau trong java (Java inner class)
Guide to the Java ArrayList
Spring Boot - Sending Email