How to embed images in HTML mail using JavaMail | web development helpdesk



Multipart emails can be used to send html content with JavaMail. If you want to use images in the html content you can either specify the url of the image on an external server, or you can embed the image in the email itself.

To embed an image in your mail you need to assign it a cid, which you can then reference in your html img tag. Here is an example that demonstrates embedding an image and use of cid.

01.Properties sessionProperties = System.getProperties();
02.sessionProperties.put("mail.smtp.host", smtpServer);
03.Session session = Session.getDefaultInstance(sessionProperties, null);
04. 
05.// Create message
06. 
07.Message message = new MimeMessage(session);
08.message.setFrom(new InternetAddress(from));
09.message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
10.        to, false));
11.message.setSubject(subject);
12. 
13.// Add html content
14.// Specify the cid of the image to include in the email
15. 
16.String html = "<html><body><b>Test</b> email <img src='cid:my-image-id'></body></html>";
17.Multipart mp = new MimeMultipart();
18.MimeBodyPart htmlPart = new MimeBodyPart();
19.htmlPart.setContent(html, "text/html");
20.mp.addBodyPart(htmlPart);
21. 
22.// add image in another part
23. 
24.MimeBodyPart imagePart = new MimeBodyPart();
25.DataSource fds = new FileDataSource(imagePath);
26.imagePart.setDataHandler(new DataHandler(fds));
27.// assign a cid to the image
28.imagePart.setHeader("Content-ID", "my-image-id");
29.mp.addBodyPart(imagePart);
30. 
31. 
32.message.setContent(mp);
33. 
34.// Send the message
35. 
36.Transport.send(message);

Read full article from How to embed images in HTML mail using JavaMail | web development helpdesk


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts