List of usage examples for org.apache.commons.net.pop3 POP3Client retrieveMessageTop
public Reader retrieveMessageTop(int messageId, int numLines) throws IOException
From source file:examples.messages.java
public static final void main(String[] args) { int message;// www . j a v a 2s .com String server, username, password; POP3Client pop3; Reader reader; POP3MessageInfo[] messages; if (args.length < 3) { System.err.println("Usage: messages <pop3 server hostname> <username> <password>"); System.exit(1); } server = args[0]; username = args[1]; password = args[2]; pop3 = new POP3Client(); // We want to timeout if a response takes longer than 60 seconds pop3.setDefaultTimeout(60000); try { pop3.connect(server); } catch (IOException e) { System.err.println("Could not connect to server."); e.printStackTrace(); System.exit(1); } try { if (!pop3.login(username, password)) { System.err.println("Could not login to server. Check password."); pop3.disconnect(); System.exit(1); } messages = pop3.listMessages(); if (messages == null) { System.err.println("Could not retrieve message list."); pop3.disconnect(); System.exit(1); } else if (messages.length == 0) { System.out.println("No messages"); pop3.logout(); pop3.disconnect(); System.exit(1); } for (message = 0; message < messages.length; message++) { reader = pop3.retrieveMessageTop(messages[message].number, 0); if (reader == null) { System.err.println("Could not retrieve message header."); pop3.disconnect(); System.exit(1); } printMessageInfo(new BufferedReader(reader), messages[message].number); } pop3.logout(); pop3.disconnect(); } catch (IOException e) { e.printStackTrace(); System.exit(1); } }
From source file:com.xiangzhurui.util.email.POP3Mail.java
public static void main(String[] args) { if (args.length < 3) { System.err//w w w . j a va 2 s . c o m .println("Usage: POP3Mail <pop3 server hostname> <username> <password> [TLS [true=implicit]]"); System.exit(1); } String server = args[0]; String username = args[1]; String password = args[2]; String proto = args.length > 3 ? args[3] : null; boolean implicit = args.length > 4 && Boolean.parseBoolean(args[4]); POP3Client pop3; if (proto != null) { System.out.println("Using secure protocol: " + proto); pop3 = new POP3SClient(proto, implicit); } else { pop3 = new POP3Client(); } System.out.println("Connecting to server " + server + " on " + pop3.getDefaultPort()); // We want to timeout if a response takes longer than 60 seconds pop3.setDefaultTimeout(60000); // suppress login details pop3.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); try { pop3.connect(server); } catch (IOException e) { System.err.println("Could not connect to server."); e.printStackTrace(); System.exit(1); } try { if (!pop3.login(username, password)) { System.err.println("Could not login to server. Check password."); pop3.disconnect(); System.exit(1); } POP3MessageInfo[] messages = pop3.listMessages(); if (messages == null) { System.err.println("Could not retrieve message list."); pop3.disconnect(); return; } else if (messages.length == 0) { System.out.println("No messages"); pop3.logout(); pop3.disconnect(); return; } for (POP3MessageInfo msginfo : messages) { BufferedReader reader = (BufferedReader) pop3.retrieveMessageTop(msginfo.number, 0); if (reader == null) { System.err.println("Could not retrieve message header."); pop3.disconnect(); System.exit(1); } printMessageInfo(reader, msginfo.number); } pop3.logout(); pop3.disconnect(); } catch (IOException e) { e.printStackTrace(); return; } }
From source file:examples.mail.POP3Mail.java
public static void main(String[] args) { if (args.length < 3) { System.err// ww w . j av a 2 s . co m .println("Usage: POP3Mail <pop3 server hostname> <username> <password> [TLS [true=implicit]]"); System.exit(1); } String server = args[0]; String username = args[1]; String password = args[2]; String proto = args.length > 3 ? args[3] : null; boolean implicit = args.length > 4 ? Boolean.parseBoolean(args[4]) : false; POP3Client pop3; if (proto != null) { System.out.println("Using secure protocol: " + proto); pop3 = new POP3SClient(proto, implicit); } else { pop3 = new POP3Client(); } System.out.println("Connecting to server " + server + " on " + pop3.getDefaultPort()); // We want to timeout if a response takes longer than 60 seconds pop3.setDefaultTimeout(60000); // suppress login details pop3.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); try { pop3.connect(server); } catch (IOException e) { System.err.println("Could not connect to server."); e.printStackTrace(); System.exit(1); } try { if (!pop3.login(username, password)) { System.err.println("Could not login to server. Check password."); pop3.disconnect(); System.exit(1); } POP3MessageInfo[] messages = pop3.listMessages(); if (messages == null) { System.err.println("Could not retrieve message list."); pop3.disconnect(); return; } else if (messages.length == 0) { System.out.println("No messages"); pop3.logout(); pop3.disconnect(); return; } for (POP3MessageInfo msginfo : messages) { BufferedReader reader = (BufferedReader) pop3.retrieveMessageTop(msginfo.number, 0); if (reader == null) { System.err.println("Could not retrieve message header."); pop3.disconnect(); System.exit(1); } printMessageInfo(reader, msginfo.number); } pop3.logout(); pop3.disconnect(); } catch (IOException e) { e.printStackTrace(); return; } }
From source file:POP3Mail.java
public static void main(String[] args) { try {/* w ww . j av a 2 s .co m*/ LogManager.getLogManager().readConfiguration(new FileInputStream("logging.properties")); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); } String server = null; String username = null; String password = null; if (new File("mail.properties").exists()) { Properties properties = new Properties(); try { properties.load(new FileInputStream(new File("mail.properties"))); server = properties.getProperty("server"); username = properties.getProperty("username"); password = properties.getProperty("password"); ArrayList<String> list = new ArrayList<String>( Arrays.asList(new String[] { server, username, password })); list.addAll(Arrays.asList(args)); args = list.toArray(new String[list.size()]); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (args.length < 3) { System.err .println("Usage: POP3Mail <pop3 server hostname> <username> <password> [TLS [true=implicit]]"); System.exit(1); } server = args[0]; username = args[1]; password = args[2]; String proto = null; int messageid = -1; boolean implicit = false; for (int i = 3; i < args.length; ++i) { if (args[i].equals("-m")) { i += 1; messageid = Integer.parseInt(args[i]); } } // String proto = args.length > 3 ? args[3] : null; // boolean implicit = args.length > 4 ? Boolean.parseBoolean(args[4]) // : false; POP3Client pop3; if (proto != null) { System.out.println("Using secure protocol: " + proto); pop3 = new POP3SClient(proto, implicit); } else { pop3 = new POP3Client(); } pop3.setDefaultPort(110); System.out.println("Connecting to server " + server + " on " + pop3.getDefaultPort()); // We want to timeout if a response takes longer than 60 seconds pop3.setDefaultTimeout(60000); // suppress login details pop3.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); try { pop3.connect(server); } catch (IOException e) { System.err.println("Could not connect to server."); e.printStackTrace(); System.exit(1); } try { if (!pop3.login(username, password)) { System.err.println("Could not login to server. Check password."); pop3.disconnect(); System.exit(1); } PrintWriter printWriter = new PrintWriter(new FileWriter("messages.csv"), true); POP3MessageInfo[] messages = null; POP3MessageInfo[] identifiers = null; if (messageid == -1) { messages = pop3.listMessages(); identifiers = pop3.listUniqueIdentifiers(); } else { messages = new POP3MessageInfo[] { pop3.listMessage(messageid) }; } if (messages == null) { System.err.println("Could not retrieve message list."); pop3.disconnect(); return; } else if (messages.length == 0) { System.out.println("No messages"); pop3.logout(); pop3.disconnect(); return; } new File("../json").mkdirs(); int count = 0; for (POP3MessageInfo msginfo : messages) { if (msginfo.number != identifiers[count].number) { throw new RuntimeException(); } msginfo.identifier = identifiers[count].identifier; BufferedReader reader = (BufferedReader) pop3.retrieveMessageTop(msginfo.number, 0); ++count; if (count % 100 == 0) { logger.finest(String.format("%d %s", msginfo.number, msginfo.identifier)); } System.out.println(String.format("%d %s", msginfo.number, msginfo.identifier)); if (reader == null) { System.err.println("Could not retrieve message header."); pop3.disconnect(); System.exit(1); } if (printMessageInfo(reader, msginfo.number, printWriter)) { } } printWriter.close(); pop3.logout(); pop3.disconnect(); } catch (IOException e) { e.printStackTrace(); return; } }
From source file:com.discursive.jccook.net.POPExample.java
public void start() throws SocketException, IOException { POP3Client client = new POP3Client(); client.connect("www.discursive.com"); client.login("tobrien@discursive.com", "******"); POP3MessageInfo[] messages = client.listMessages(); for (int i = 0; i < 5; i++) { int messageNum = messages[i].number; System.out.println("Message number: " + messageNum); Reader reader = client.retrieveMessageTop(messageNum, 10); System.out.println("Message:\n" + IOUtils.toString(reader)); IOUtils.closeQuietly(reader);// w ww .j a v a 2 s . c o m } client.logout(); client.disconnect(); }
From source file:org.apache.common.net.examples.mail.POP3Mail.java
public static final void main(String[] args) { if (args.length < 3) { System.err//from w w w .j av a2 s . co m .println("Usage: POP3Mail <pop3 server hostname> <username> <password> [TLS [true=implicit]]"); System.exit(1); } String server = args[0]; String username = args[1]; String password = args[2]; String proto = args.length > 3 ? args[3] : null; boolean implicit = args.length > 4 ? Boolean.parseBoolean(args[4]) : false; POP3Client pop3; if (proto != null) { System.out.println("Using secure protocol: " + proto); pop3 = new POP3SClient(proto, implicit); } else { pop3 = new POP3Client(); } System.out.println("Connecting to server " + server + " on " + pop3.getDefaultPort()); // We want to timeout if a response takes longer than 60 seconds pop3.setDefaultTimeout(60000); // suppress login details pop3.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); try { pop3.connect(server); } catch (IOException e) { System.err.println("Could not connect to server."); e.printStackTrace(); System.exit(1); } try { if (!pop3.login(username, password)) { System.err.println("Could not login to server. Check password."); pop3.disconnect(); System.exit(1); } POP3MessageInfo[] messages = pop3.listMessages(); if (messages == null) { System.err.println("Could not retrieve message list."); pop3.disconnect(); return; } else if (messages.length == 0) { System.out.println("No messages"); pop3.logout(); pop3.disconnect(); return; } for (POP3MessageInfo msginfo : messages) { BufferedReader reader = (BufferedReader) pop3.retrieveMessageTop(msginfo.number, 0); if (reader == null) { System.err.println("Could not retrieve message header."); pop3.disconnect(); System.exit(1); } printMessageInfo(reader, msginfo.number); } pop3.logout(); pop3.disconnect(); } catch (IOException e) { e.printStackTrace(); return; } }
From source file:org.apache.commons.net.examples.mail.POP3Mail.java
public static void main(String[] args) { if (args.length < 3) { System.err.println(//from w w w .ja v a2s . c o m "Usage: POP3Mail <server[:port]> <username> <password|-|*|VARNAME> [TLS [true=implicit]]"); System.exit(1); } String arg0[] = args[0].split(":"); String server = arg0[0]; String username = args[1]; String password = args[2]; // prompt for the password if necessary try { password = Utils.getPassword(username, password); } catch (IOException e1) { System.err.println("Could not retrieve password: " + e1.getMessage()); return; } String proto = args.length > 3 ? args[3] : null; boolean implicit = args.length > 4 ? Boolean.parseBoolean(args[4]) : false; POP3Client pop3; if (proto != null) { System.out.println("Using secure protocol: " + proto); pop3 = new POP3SClient(proto, implicit); } else { pop3 = new POP3Client(); } int port; if (arg0.length == 2) { port = Integer.parseInt(arg0[1]); } else { port = pop3.getDefaultPort(); } System.out.println("Connecting to server " + server + " on " + port); // We want to timeout if a response takes longer than 60 seconds pop3.setDefaultTimeout(60000); // suppress login details pop3.addProtocolCommandListener(new PrintCommandListener(new PrintWriter(System.out), true)); try { pop3.connect(server); } catch (IOException e) { System.err.println("Could not connect to server."); e.printStackTrace(); return; } try { if (!pop3.login(username, password)) { System.err.println("Could not login to server. Check password."); pop3.disconnect(); return; } POP3MessageInfo status = pop3.status(); if (status == null) { System.err.println("Could not retrieve status."); pop3.logout(); pop3.disconnect(); return; } System.out.println("Status: " + status); POP3MessageInfo[] messages = pop3.listMessages(); if (messages == null) { System.err.println("Could not retrieve message list."); pop3.logout(); pop3.disconnect(); return; } else if (messages.length == 0) { System.out.println("No messages"); pop3.logout(); pop3.disconnect(); return; } System.out.println("Message count: " + messages.length); for (POP3MessageInfo msginfo : messages) { BufferedReader reader = (BufferedReader) pop3.retrieveMessageTop(msginfo.number, 0); if (reader == null) { System.err.println("Could not retrieve message header."); pop3.logout(); pop3.disconnect(); return; } printMessageInfo(reader, msginfo.number); } pop3.logout(); pop3.disconnect(); } catch (IOException e) { e.printStackTrace(); return; } }
From source file:org.apache.james.pop3server.POP3ServerTest.java
/** * Test for JAMES-1202 - This was failing before as the more then one connection to the same * mailbox was not handled the right way *///from w w w .ja v a2s . com @Test @Ignore public void testStatUidlListTwoConnections() throws Exception { finishSetUp(pop3Configuration); pop3Client = new POP3Client(); pop3Client.connect("127.0.0.1", pop3Port); usersRepository.addUser("foo2", "bar2"); MailboxPath mailboxPath = new MailboxPath(MailboxConstants.USER_NAMESPACE, "foo2", "INBOX"); MailboxSession session = mailboxManager.login("foo2", "bar2", LoggerFactory.getLogger("Test")); if (!mailboxManager.mailboxExists(mailboxPath, session)) { mailboxManager.createMailbox(mailboxPath, session); } int msgCount = 100; for (int i = 0; i < msgCount; i++) { mailboxManager.getMailbox(mailboxPath, session).appendMessage( new ByteArrayInputStream(("Subject: test\r\n\r\n" + i).getBytes()), new Date(), session, true, new Flags()); } pop3Client.login("foo2", "bar2"); assertEquals(1, pop3Client.getState()); POP3MessageInfo[] listEntries = pop3Client.listMessages(); POP3MessageInfo[] uidlEntries = pop3Client.listUniqueIdentifiers(); POP3MessageInfo statInfo = pop3Client.status(); assertEquals(msgCount, listEntries.length); assertEquals(msgCount, uidlEntries.length); assertEquals(msgCount, statInfo.number); POP3Client m_pop3Protocol2 = new POP3Client(); m_pop3Protocol2.connect("127.0.0.1", pop3Port); m_pop3Protocol2.login("foo2", "bar2"); assertEquals(1, m_pop3Protocol2.getState()); POP3MessageInfo[] listEntries2 = m_pop3Protocol2.listMessages(); POP3MessageInfo[] uidlEntries2 = m_pop3Protocol2.listUniqueIdentifiers(); POP3MessageInfo statInfo2 = m_pop3Protocol2.status(); assertEquals(msgCount, listEntries2.length); assertEquals(msgCount, uidlEntries2.length); assertEquals(msgCount, statInfo2.number); pop3Client.deleteMessage(1); listEntries = pop3Client.listMessages(); uidlEntries = pop3Client.listUniqueIdentifiers(); statInfo = pop3Client.status(); assertEquals(msgCount - 1, listEntries.length); assertEquals(msgCount - 1, uidlEntries.length); assertEquals(msgCount - 1, statInfo.number); // even after the message was deleted it should get displayed in the // second connection listEntries2 = m_pop3Protocol2.listMessages(); uidlEntries2 = m_pop3Protocol2.listUniqueIdentifiers(); statInfo2 = m_pop3Protocol2.status(); assertEquals(msgCount, listEntries2.length); assertEquals(msgCount, uidlEntries2.length); assertEquals(msgCount, statInfo2.number); assertTrue(pop3Client.logout()); pop3Client.disconnect(); // even after the message was deleted and the session was quit it should // get displayed in the second connection listEntries2 = m_pop3Protocol2.listMessages(); uidlEntries2 = m_pop3Protocol2.listUniqueIdentifiers(); statInfo2 = m_pop3Protocol2.status(); assertEquals(msgCount, listEntries2.length); assertEquals(msgCount, uidlEntries2.length); assertEquals(msgCount, statInfo2.number); // This both should error and so return null assertNull(m_pop3Protocol2.retrieveMessageTop(1, 100)); assertNull(m_pop3Protocol2.retrieveMessage(1)); m_pop3Protocol2.sendCommand("quit"); m_pop3Protocol2.disconnect(); mailboxManager.deleteMailbox(mailboxPath, session); }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testTop() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/*from w ww. j a v a2 s . c om*/ try { String identifier = "id"; TestPassCmdHandler factory = new TestPassCmdHandler(); factory.add("valid", new MockMailbox(identifier, MESSAGE1, MESSAGE2)); server = createServer(createProtocol(factory), address); server.bind(); POP3Client client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("valid", "valid")).isTrue(); Reader reader = client.retrieveMessageTop(1, 1000); assertThat(reader).isNotNull(); checkMessage(MESSAGE1, reader); reader.close(); reader = client.retrieveMessageTop(2, 1); assertThat(reader).isNotNull(); checkMessage(MESSAGE2, reader, 1); reader.close(); // does not exist reader = client.retrieveMessageTop(10, 100); assertThat(reader).isNull(); // delete and check for the message again, should now be deleted assertThat(client.deleteMessage(1)).isTrue(); reader = client.retrieveMessageTop(1, 1000); assertThat(reader).isNull(); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testDifferentStates() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/*from www . j a va 2 s. c o m*/ try { String identifier = "id"; TestPassCmdHandler factory = new TestPassCmdHandler(); factory.add("valid", new MockMailbox(identifier, MESSAGE1, MESSAGE2)); server = createServer(createProtocol(factory), address); server.bind(); POP3Client client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.listMessages()).isNull(); assertThat(client.listUniqueIdentifiers()).isNull(); assertThat(client.deleteMessage(1)).isFalse(); assertThat(client.retrieveMessage(1)).isNull(); assertThat(client.retrieveMessageTop(1, 10)).isNull(); assertThat(client.status()).isNull(); assertThat(client.reset()).isFalse(); client.logout(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("valid", "valid")).isTrue(); assertThat(client.listMessages()).isNotNull(); assertThat(client.listUniqueIdentifiers()).isNotNull(); Reader reader = client.retrieveMessage(1); assertThat(reader).isNotNull(); reader.close(); assertThat(client.status()).isNotNull(); reader = client.retrieveMessageTop(1, 1); assertThat(reader).isNotNull(); reader.close(); assertThat(client.deleteMessage(1)).isTrue(); assertThat(client.reset()).isTrue(); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }