List of usage examples for org.apache.commons.net.pop3 POP3Client logout
public boolean logout() throws IOException
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 ww w. j a v a 2s. 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.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testInvalidAuth() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/* ww w. j a v a2 s . com*/ try { server = createServer(createProtocol(new TestPassCmdHandler()), address); server.bind(); POP3Client client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("invalid", "invalid")).isFalse(); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testEmptyInbox() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;//ww w . j av a 2s.co m try { String identifier = "id"; TestPassCmdHandler handler = new TestPassCmdHandler(); handler.add("valid", new MockMailbox(identifier)); server = createServer(createProtocol(handler), address); server.bind(); POP3Client client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("valid", "valid")).isTrue(); POP3MessageInfo[] info = client.listMessages(); assertThat(info.length).isEqualTo(0); info = client.listUniqueIdentifiers(); assertThat(info.length).isEqualTo(0); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testInboxWithMessages() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/*from w w w . j a va 2 s . c om*/ try { String identifier = "id"; TestPassCmdHandler handler = new TestPassCmdHandler(); handler.add("valid", new MockMailbox(identifier, MESSAGE1, MESSAGE2)); server = createServer(createProtocol(handler), address); server.bind(); POP3Client client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("valid", "valid")).isTrue(); POP3MessageInfo[] info = client.listMessages(); assertThat(info.length).isEqualTo(2); assertThat(info[0].size).isEqualTo((int) MESSAGE1.meta.getSize()); assertThat(info[1].size).isEqualTo((int) MESSAGE2.meta.getSize()); assertThat(info[0].number).isEqualTo(1); assertThat(info[1].number).isEqualTo(2); POP3MessageInfo mInfo = client.listMessage(1); assertThat(mInfo.size).isEqualTo((int) MESSAGE1.meta.getSize()); assertThat(mInfo.number).isEqualTo(1); // try to retrieve message that not exist mInfo = client.listMessage(10); assertThat(mInfo).isNull(); info = client.listUniqueIdentifiers(); assertThat(info.length).isEqualTo(2); assertThat(info[0].identifier).isEqualTo(identifier + "-" + MESSAGE1.meta.getUid()); assertThat(info[1].identifier).isEqualTo(identifier + "-" + MESSAGE2.meta.getUid()); assertThat(info[0].number).isEqualTo(1); assertThat(info[1].number).isEqualTo(2); mInfo = client.listUniqueIdentifier(1); assertThat(mInfo.identifier).isEqualTo(identifier + "-" + MESSAGE1.meta.getUid()); assertThat(mInfo.number).isEqualTo(1); // try to retrieve message that not exist mInfo = client.listUniqueIdentifier(10); assertThat(mInfo).isNull(); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testRetr() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;//from w ww . j av a 2 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.retrieveMessage(1); assertThat(reader).isNotNull(); checkMessage(MESSAGE1, reader); reader.close(); // does not exist reader = client.retrieveMessage(10); assertThat(reader).isNull(); // delete and check for the message again, should now be deleted assertThat(client.deleteMessage(1)).isTrue(); reader = client.retrieveMessage(1); 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 testTop() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/*from ww w.j a v a2s.co 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.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 testDele() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;//w w w .j a v a 2s . 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(); POP3MessageInfo[] info = client.listMessages(); assertThat(info.length).isEqualTo(2); assertThat(client.deleteMessage(1)).isTrue(); info = client.listMessages(); assertThat(info.length).isEqualTo(1); assertThat(client.deleteMessage(1)).isFalse(); info = client.listMessages(); assertThat(info.length).isEqualTo(1); assertThat(client.deleteMessage(2)).isTrue(); info = client.listMessages(); assertThat(info.length).isEqualTo(0); // logout so the messages get expunged assertThat(client.logout()).isTrue(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("valid", "valid")).isTrue(); info = client.listMessages(); assertThat(info.length).isEqualTo(0); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testNoop() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;//from www.j a v a 2s. com try { String identifier = "id"; TestPassCmdHandler factory = new TestPassCmdHandler(); factory.add("valid", new MockMailbox(identifier)); server = createServer(createProtocol(factory), address); server.bind(); POP3Client client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("valid", "valid")).isTrue(); assertThat(client.noop()).isTrue(); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testRset() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;//from w w w. jav a 2 s .c o m try { String identifier = "id"; TestPassCmdHandler factory = new TestPassCmdHandler(); factory.add("valid", new MockMailbox(identifier, MESSAGE1)); server = createServer(createProtocol(factory), address); server.bind(); POP3Client client = createClient(); client.connect(address.getAddress().getHostAddress(), address.getPort()); assertThat(client.login("valid", "valid")).isTrue(); assertThat(client.listMessages().length).isEqualTo(1); assertThat(client.deleteMessage(1)).isTrue(); assertThat(client.listMessages().length).isEqualTo(0); // call RSET. After this the deleted mark should be removed again assertThat(client.reset()).isTrue(); assertThat(client.listMessages().length).isEqualTo(1); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }
From source file:org.apache.james.protocols.pop3.AbstractPOP3ServerTest.java
@Test public void testStat() throws Exception { InetSocketAddress address = new InetSocketAddress("127.0.0.1", TestUtils.getFreePort()); ProtocolServer server = null;/* w w w .ja v a2s . co 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.login("valid", "valid")).isTrue(); POP3MessageInfo info = client.status(); assertThat(info.size).isEqualTo((int) (MESSAGE1.meta.getSize() + MESSAGE2.meta.getSize())); assertThat(info.number).isEqualTo(2); assertThat(client.logout()).isTrue(); } finally { if (server != null) { server.unbind(); } } }