Read attachment message using Java Mail

This Example shows you how to read a Attachment message using javamail api. Java Mail API provides classes to send multiple Mime body part with one Mime Message

Read attachment message using Java Mail

Read attachment message using Java Mail

     

This Example shows you how to read a Attachment message using javamail api. Java Mail API provides classes to send multiple Mime body part with one Mime Message. MulipltMimeBody parts can be text, file or image. All message are stored in Folder objects. folders can contain folders or messages. The Folder class declares methods that fetch, append, copy and delete messages, and message contain Attachment.

ReadAttachment.java

import java.io.*;
import java.util.*;
import javax.mail.*;

public class ReadAttachment {

  public static void main(String args[]) throws Exception {
  String host = "192.168.10.205";
  String user = "komal";
  String password = "komal";

  // Get system properties
  Properties properties = System.getProperties();

  // Get the default Session object.
  Session session = Session.getDefaultInstance(properties);

  // Get a Store object that implements the specified protocol.
  Store store = session.getStore("pop3");

  //Connect to the current host using the specified username and password.
  store.connect(host, user, password);

  //Create a Folder object corresponding to the given name.
  Folder folder = store.getFolder("inbox");

  // Open the Folder.
  folder.open(Folder.READ_WRITE);

  Message[] message = folder.getMessages();


  for (int a = 0; a < message.length; a++) {
  System.out.println("-------------" + (a + 1) + "-----------");
  System.out.println(message[a].getSentDate());

  Multipart multipart = (Multipart) message[a].getContent();
  //System.out.println(multipart.getCount());

  for (int i = 0; i < multipart.getCount(); i++) {
  //System.out.println(i);
  //System.out.println(multipart.getContentType());
  BodyPart bodyPart = multipart.getBodyPart(i);
  InputStream stream = bodyPart.getInputStream();
  BufferedReader br = new BufferedReader(new InputStreamReader(stream));

  while (br.ready()) {
  System.out.println(br.readLine());
  }
  System.out.println();
  }
  System.out.println();
  }
  folder.close(true);
  store.close();
  }
}

Output:

---------Message 1----------
Thu Jul 17 00:09:33 IST 2008
hi

hi this is komal


---------Message 2----------
Thu Jul 17 00:09:22 IST 2008
hi.....

hi this is komal


---------Message 3----------
Thu Jul 17 01:02:23 IST 2008
eml mail

Return-Path: <test@localhost>
Delivered-To: <test@localhost>
Received: from 192.168.10.111 ([192.168.10.111])
  by roseindi-iyo058 (JAMES SMTP Server 2.3.1) with SMTP ID 18
  for <test@localhost>;
  Wed, 16 Jul 2008 14:33:32 +0000 (GMT)
Date: Wed, 16 Jul 2008 14:33:32 +0000 (GMT)
From: test@localhost
To: test@localhost
Message-ID: <6794265.0.1216195417823.JavaMail.komal@komal>
Subject: hi..!
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

hi.. this is komal choudhary 

Download code