diff --git a/src/java/davmail/imap/ImapConnection.java b/src/java/davmail/imap/ImapConnection.java index 6470d532..c1b468f4 100644 --- a/src/java/davmail/imap/ImapConnection.java +++ b/src/java/davmail/imap/ImapConnection.java @@ -1225,6 +1225,13 @@ public class ImapConnection extends AbstractConnection { return session.contains("subject", tokens.nextToken()); } else if ("BODY".equals(token)) { return session.contains("body", tokens.nextToken()); + } else if ("TEXT".equals(token)) { + String value = tokens.nextToken(); + return session.or(session.contains("body", value), + session.contains("subject", value), + session.contains("from", value), + session.contains("to", value), + session.contains("cc", value)); } else if ("FROM".equals(token)) { return session.contains("from", tokens.nextToken()); } else if ("TO".equals(token)) { diff --git a/src/test/davmail/imap/TestImap.java b/src/test/davmail/imap/TestImap.java index 9bf45c2c..07f3ac8f 100644 --- a/src/test/davmail/imap/TestImap.java +++ b/src/test/davmail/imap/TestImap.java @@ -350,5 +350,18 @@ public class TestImap extends AbstractImapTestCase { assertEquals(". OK UID FETCH completed", readFullAnswer(".")); } + public void testSearchSince() throws IOException { + testSelectInbox(); + writeLine(". UID SEARCH SINCE 1-Jan-2012 UNDELETED"); + assertEquals(". OK SEARCH completed", readFullAnswer(".")); + } + + public void testSearchText() throws IOException { + testSelectInbox(); + writeLine(". UID SEARCH TEXT test"); + assertEquals(". OK SEARCH completed", readFullAnswer(".")); + } + + }