import com.sun.mail.imap.IMAPFolder; import org.junit.*; import javax.mail.*; import java.util.Properties; /** * Created with IntelliJ IDEA. * User: tiziano * Date: 10/09/13 * Time: 08:40 * To change this template use File | Settings | File Templates. */ public class IMAPTest { @BeforeClass public static void setUpClass() { } @AfterClass public static void tearDownClass() { } @Before public void setUp() { } @After public void tearDown() { } @Test public void testIMAPGmail() { IMAPFolder folder = null; Store store = null; Properties props = System.getProperties(); props.setProperty("mail.store.protocol", "imaps"); Session session = Session.getDefaultInstance(props, null); try { store = session.getStore("imaps"); store.connect("imap.googlemail.com","*", "*"); folder = (IMAPFolder) store.getFolder("[Gmail]/Spam"); if(!folder.isOpen()){ folder.open(Folder.READ_WRITE); } Message[] messages = folder.getMessages(); System.out.println("No of Messages : " + folder.getMessageCount()); } catch (MessagingException e) { e.printStackTrace(); } finally { try { if( folder != null && folder.isOpen() ){ folder.close(true); } if( store != null ){ store.close(); } } catch (MessagingException e) { e.printStackTrace(); } } } @Test public void testIMAPAruba() { IMAPFolder folder = null; Store store = null; Properties props = System.getProperties(); props.setProperty("mail.store.protocol", "imaps"); Session session = Session.getDefaultInstance(props, null); try { store = session.getStore("imaps"); store.connect("imaps.pec.aruba.it","*", "*"); folder = (IMAPFolder) store.getFolder("Inbox"); if(!folder.isOpen()){ folder.open(Folder.READ_WRITE); } Message[] messages = folder.getMessages(); System.out.println("No of Messages : " + folder.getMessageCount()); for( int i=0; i<messages.length; i++ ){ Message message = messages[i]; System.out.println(message.getSubject()); } } catch (MessagingException e) { e.printStackTrace(); } finally { try { if( folder != null && folder.isOpen() ){ folder.close(true); } if( store != null ){ store.close(); } } catch (MessagingException e) { e.printStackTrace(); } } } }