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:
So sánh HashSet, LinkedHashSet và TreeSet trong Java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Testing an OAuth Secured API with Spring MVC
Check if there is mail waiting
REST Web service: Upload và Download file với Jersey 2.x
Spring Cloud Bus
Java Program to Implement vector
Shuffling Collections In Java
Spring Boot: Customize the Jackson ObjectMapper
Java – Random Long, Float, Integer and Double
Debugging Reactive Streams in Java
Introduction to Spring Data JDBC
Java Program to Implement Sorted Circular Doubly Linked List
The “final” Keyword in Java
Understanding Memory Leaks in Java
Java Program to Implement Strassen Algorithm
Introduction to the Java ArrayDeque
Java Program to implement Array Deque
JUnit 5 for Kotlin Developers
XML Serialization and Deserialization with Jackson
Tính đa hình (Polymorphism) trong Java
Tránh lỗi NullPointerException trong Java như thế nào?
Quick Intro to Spring Cloud Configuration
Hamcrest Collections Cookbook
Java Program to Check whether Undirected Graph is Connected using BFS
Spring Webflux and CORS
Java Program to Check for balanced parenthesis by using Stacks
Using Custom Banners in Spring Boot
Java Program to Implement Control Table
Hướng dẫn Java Design Pattern – Prototype
Lập trình mạng với java
Practical Java Examples of the Big O Notation