List of usage examples for javax.mail Session getStore
public Store getStore(Provider provider) throws NoSuchProviderException
From source file:com.liferay.mail.imap.IMAPConnection.java
public Store getStore(boolean useOldStores) throws MailException { Store store = null;// www .ja v a 2s. c o m try { String storeKey = _incomingHostName.concat(_outgoingHostName).concat(_login); if (useOldStores) { store = _allStores.get(storeKey); if ((store != null) && !store.isConnected()) { store.close(); store = null; } } if (store == null) { Session session = getSession(); if (_incomingSecure) { store = session.getStore("imaps"); } else { store = session.getStore("imap"); } store.connect(_incomingHostName, _incomingPort, _login, _password); if (useOldStores) { _allStores.put(storeKey, store); } } return store; } catch (MessagingException me) { throw new MailException(MailException.ACCOUNT_INCOMING_CONNECTION_FAILED, me); } }
From source file:EmailBean.java
private void handleMessages(HttpServletRequest request, PrintWriter out) throws IOException, ServletException { HttpSession httpSession = request.getSession(); String user = (String) httpSession.getAttribute("user"); String password = (String) httpSession.getAttribute("pass"); String popAddr = (String) httpSession.getAttribute("pop"); Store popStore = null;/*from ww w . j a v a2 s . c o m*/ Folder folder = null; if (!check(popAddr)) popAddr = EmailBean.DEFAULT_SERVER; try { if ((!check(user)) || (!check(password))) throw new ServletException("A valid username and password is required to check email."); Properties properties = System.getProperties(); Session session = Session.getDefaultInstance(properties); popStore = session.getStore("pop3"); popStore.connect(popAddr, user, password); folder = popStore.getFolder("INBOX"); if (!folder.exists()) throw new ServletException("An 'INBOX' folder does not exist for the user."); folder.open(Folder.READ_ONLY); Message[] messages = folder.getMessages(); int msgLen = messages.length; if (msgLen == 0) out.println("<h2>The INBOX folder does not yet contain any email messages.</h2>"); for (int i = 0; i < msgLen; i++) { displayMessage(messages[i], out); out.println("<br /><br />"); } } catch (Exception exc) { out.println("<h2>Sorry, an error occurred while accessing the email messages.</h2>"); out.println(exc.toString()); } finally { try { if (folder != null) folder.close(false); if (popStore != null) popStore.close(); } catch (Exception e) { } } }
From source file:org.alfresco.repo.imap.RemoteLoadTester.java
public void testListSequence() { System.out.println(String.format("Connecting to remote server '%s'", REMOTE_HOST)); Properties props = System.getProperties(); props.setProperty("mail.imap.partialfetch", "false"); Session session = Session.getDefaultInstance(props, null); Store store = null;// w w w. ja va 2s . c o m long startTime = 0; long endTime = 0; try { store = session.getStore("imap"); store.connect(REMOTE_HOST, ADMIN_USER_NAME, ADMIN_USER_NAME); Folder[] folders = null; startTime = System.currentTimeMillis(); folders = store.getDefaultFolder().list(""); endTime = System.currentTimeMillis(); System.out.println(String.format("LIST '', folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); startTime = System.currentTimeMillis(); folders = store.getDefaultFolder().list("*"); endTime = System.currentTimeMillis(); System.out.println(String.format("LIST *, folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); startTime = System.currentTimeMillis(); folders = store.getDefaultFolder().listSubscribed("*"); endTime = System.currentTimeMillis(); System.out.println(String.format("LSUB *, folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); startTime = System.currentTimeMillis(); for (Folder folder : folders) { folder.getMessageCount(); //Folder f = store.getFolder(folder.getFullName()); } endTime = System.currentTimeMillis(); System.out.println(String.format("Folders Loop, folders.length = %d, execTime = %d sec", folders.length, (endTime - startTime) / 1000)); } catch (NoSuchProviderException e) { e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } finally { try { store.close(); } catch (MessagingException e) { System.err.println(e.getMessage()); } } }
From source file:server.MailPop3Expert.java
public boolean connect() { try {/*from www .j a va2s.c o m*/ Properties properties = new Properties(); // Configuracion del servidor properties.put("mail.pop3.host", server); properties.put("mail.pop3.port", "995"); // SSL opciones de seguridad properties.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); properties.setProperty("mail.pop3.socketFactory.fallback", "true"); properties.setProperty("mail.pop3.socketFactory.port", String.valueOf("995")); Session session = Session.getDefaultInstance(properties); // Coneccion con la cuenta store = session.getStore("pop3"); if (store.isConnected()) { disconnect(); } //Conectar... store.connect(server, username, password); log.info("Conexion establecida"); } catch (Exception e) { e.printStackTrace(); return false; } return true; }
From source file:com.seleniumtests.connectors.mails.ImapClient.java
/** * connect to folder/*from w w w . j a v a2 s . c o m*/ * @param host server address * @param username login for server * @param password password for server * @throws MessagingException */ private void connect(String host, String username, String password) throws MessagingException { // Create empty properties Properties props = new Properties(); // Get session Session session = Session.getDefaultInstance(props, null); // Get the store store = session.getStore("imap"); store.connect(host, imapPort, username, password); }
From source file:edu.stanford.muse.email.MboxEmailStore.java
public Store connect() throws MessagingException { // Get a Session object // can customize javamail properties here if needed, see e.g. http://java.sun.com/products/javamail/javadocs/com/sun/mail/imap/package-summary.html Session session = Session.getInstance(mstorProps, null); session.setDebug(DEBUG);// w w w. j a v a2 s. c o m // Get a Store object Store store = session.getStore(new URLName("mstor:" + Util.devNullPath())); // although "store" is irrelevant with mbox, connect/close may still be attempted on it. thus, use /dev/null rather than leaving it at / or unspecified path (which may trigger file io error). store.connect(); return store; }
From source file:com.ikon.util.MailUtils.java
/** * Import messages/*from w ww. j a v a2 s . com*/ * http://www.jguru.com/faq/view.jsp?EID=26898 * * == Using Unique Identifier (UIDL) == * Mail server assigns an unique identifier for every email in the same account. You can get as UIDL * for every email by MailInfo.UIDL property. To avoid receiving the same email twice, the best way is * storing the UIDL of email retrieved to a text file or database. Next time before you retrieve email, * compare your local uidl list with remote uidl. If this uidl exists in your local uidl list, don't * receive it; otherwise receive it. * * == Different property of UIDL in POP3 and IMAP4 == * UIDL is always unique in IMAP4 and it is always an incremental integer. UIDL in POP3 can be any valid * asc-ii characters, and an UIDL may be reused by POP3 server if email with this UIDL has been deleted * from the server. Hence you are advised to remove the uidl from your local uidl list if that uidl is * no longer exist on the POP3 server. * * == Remarks == * You should create different local uidl list for different email account, because the uidl is only * unique for the same account. */ public static String importMessages(String token, MailAccount ma) throws PathNotFoundException, ItemExistsException, VirusDetectedException, AccessDeniedException, RepositoryException, DatabaseException, UserQuotaExceededException, ExtensionException, AutomationException { log.debug("importMessages({}, {})", new Object[] { token, ma }); Session session = Session.getDefaultInstance(getProperties()); String exceptionMessage = null; try { // Open connection Store store = session.getStore(ma.getMailProtocol()); store.connect(ma.getMailHost(), ma.getMailUser(), ma.getMailPassword()); Folder folder = store.getFolder(ma.getMailFolder()); folder.open(Folder.READ_WRITE); Message messages[] = null; if (folder instanceof IMAPFolder) { // IMAP folder UIDs begins at 1 and are supposed to be sequential. // Each folder has its own UIDs sequence, not is a global one. messages = ((IMAPFolder) folder).getMessagesByUID(ma.getMailLastUid() + 1, UIDFolder.LASTUID); } else { messages = folder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false)); } for (int i = 0; i < messages.length; i++) { Message msg = messages[i]; log.info(i + ": " + msg.getFrom()[0] + " " + msg.getSubject() + " " + msg.getContentType()); log.info("Received: " + msg.getReceivedDate()); log.info("Sent: " + msg.getSentDate()); log.debug("{} -> {} - {}", new Object[] { i, msg.getSubject(), msg.getReceivedDate() }); com.ikon.bean.Mail mail = messageToMail(msg); if (ma.getMailFilters().isEmpty()) { log.debug("Import in compatibility mode"); String mailPath = getUserMailPath(ma.getUser()); importMail(token, mailPath, true, folder, msg, ma, mail); } else { for (MailFilter mf : ma.getMailFilters()) { log.debug("MailFilter: {}", mf); if (checkRules(mail, mf.getFilterRules())) { String mailPath = mf.getPath(); importMail(token, mailPath, mf.isGrouping(), folder, msg, ma, mail); } } } // Set message as seen if (ma.isMailMarkSeen()) { msg.setFlag(Flags.Flag.SEEN, true); } else { msg.setFlag(Flags.Flag.SEEN, false); } // Delete read mail if requested if (ma.isMailMarkDeleted()) { msg.setFlag(Flags.Flag.DELETED, true); } // Set lastUid if (folder instanceof IMAPFolder) { long msgUid = ((IMAPFolder) folder).getUID(msg); log.info("Message UID: {}", msgUid); ma.setMailLastUid(msgUid); MailAccountDAO.update(ma); } } // Close connection log.debug("Expunge: {}", ma.isMailMarkDeleted()); folder.close(ma.isMailMarkDeleted()); store.close(); } catch (NoSuchProviderException e) { log.error(e.getMessage(), e); exceptionMessage = e.getMessage(); } catch (MessagingException e) { log.error(e.getMessage(), e); exceptionMessage = e.getMessage(); } catch (IOException e) { log.error(e.getMessage(), e); exceptionMessage = e.getMessage(); } log.debug("importMessages: {}", exceptionMessage); return exceptionMessage; }
From source file:org.campware.dream.modules.scheduledjobs.Pop3Job.java
private void doReceiveMessages() throws Exception { String host = TurbineResources.getString("mail.pop3.host"); String username = TurbineResources.getString("mail.pop3.user"); String password = TurbineResources.getString("mail.pop3.password"); // Create empty properties Properties props = new Properties(); // Get session Session session = Session.getDefaultInstance(props, null); // Get the store Store store = session.getStore("pop3"); // Connect to store store.connect(host, username, password); // Get folder Folder folder = store.getFolder("INBOX"); // Open read-only folder.open(Folder.READ_WRITE);/*ww w . j a va 2s . co m*/ // Get attributes & flags for all messages // Message[] messages = folder.getMessages(); FetchProfile fp = new FetchProfile(); fp.add(FetchProfile.Item.ENVELOPE); fp.add(FetchProfile.Item.FLAGS); fp.add("X-Mailer"); folder.fetch(messages, fp); // Process each message // Address fromAddress = new InternetAddress(); String from = new String(); String name = new String(); String email = new String(); String subject = new String(); String content = new String(); for (int i = 0; i < messages.length; i++) { email = ((InternetAddress) messages[i].getFrom()[0]).getAddress(); name = ((InternetAddress) messages[i].getFrom()[0]).getPersonal(); subject = messages[i].getSubject(); content = messages[i].getContent().toString(); DinboxEvent entry = new DinboxEvent(); Criteria criteria = new Criteria(); criteria.add(DistributorPeer.EMAIL, (Object) email, Criteria.EQUAL); if (DistributorPeer.doSelect(criteria).size() > 0) { Distributor myDistrib = (Distributor) DistributorPeer.doSelect(criteria).get(0); entry.setDistributorId(myDistrib.getDistributorId()); } else { if (name != null) { entry.setBody("From: " + name + " " + email + "\n\n" + content); } else { entry.setBody("From: " + email + "\n\n" + content); } } entry.setDinboxEventCode(getTempCode()); entry.setEventType(10); entry.setEventChannel(10); entry.setSubject(subject); entry.setIssuedDate(new Date()); entry.setCreatedBy("scheduler"); entry.setCreated(new Date()); entry.setModifiedBy("scheduler"); entry.setModified(new Date()); Connection conn = Transaction.begin(DinboxEventPeer.DATABASE_NAME); boolean success = false; try { entry.save(conn); entry.setDinboxEventCode(getRowCode("IE", entry.getDinboxEventId())); entry.save(conn); Transaction.commit(conn); success = true; } finally { if (!success) Transaction.safeRollback(conn); } messages[i].setFlag(Flags.Flag.DELETED, true); } // Close connection folder.close(true); store.close(); }
From source file:edu.stanford.muse.email.MboxEmailStore.java
public Folder openFolderWithoutCount(Store s, String fname) throws MessagingException { if (fname == null) fname = "INBOX"; // ignore the store coming in, we need a new session and store // for each folder Session session = Session.getInstance(mstorProps, null); session.setDebug(DEBUG);//from ww w .j a v a 2 s . co m // Get a Store object Store store = session.getStore(new URLName("mstor:" + fname)); store.connect(); //This is the root folder in the namespace provided //see http://docs.oracle.com/javaee/5/api/javax/mail/Store.html#getDefaultFolder%28%29 Folder folder = store.getDefaultFolder(); if (folder == null) throw new RuntimeException("Invalid folder: " + fname); log.info("Opening folder " + Util.blurPath(fname) + " in r/o mode..."); try { folder.open(Folder.READ_ONLY); } catch (MessagingException me) { folder = null; } return folder; }
From source file:org.usergrid.rest.management.RegistrationIT.java
private Message[] getMessages(String host, String user, String password) throws MessagingException, IOException { Session session = Session.getDefaultInstance(new Properties()); Store store = session.getStore("imap"); store.connect(host, user, password); Folder folder = store.getFolder("inbox"); folder.open(Folder.READ_ONLY);/*from www. ja va2s . c om*/ Message[] msgs = folder.getMessages(); for (Message m : msgs) { logger.info("Subject: " + m.getSubject()); logger.info("Body content 0 " + (String) ((MimeMultipart) m.getContent()).getBodyPart(0).getContent()); logger.info("Body content 1 " + (String) ((MimeMultipart) m.getContent()).getBodyPart(1).getContent()); } return msgs; }