IMAP4 SEARCH question

Laszlo Nagy gandalf at designaproduct.biz
Fri Dec 8 10:43:42 EST 2006


  Hi,

I'm using imaplib to access an IMAP4 server. I'm reading the IMAP4 
specification, and I found something odd. The search command  can be 
used in conjuction with date values. For example, I would like to search 
for messages that are older than 30 days. However, the IMAP4 specs does 
not define date/time type(s). Here is a link:

http://tools.ietf.org/html/rfc3501#page-16

As you can see, there are some types: NIL, Number, String and 
Parenthesized List. So how do I specify a date? If it is encapsulated in 
a string, then what format should I use? The the RFC contains an example:

http://tools.ietf.org/html/rfc3501#page-49

      BEFORE <date>
         Messages whose internal date (disregarding time and timezone)
         is earlier than the specified date.

  Example:    C: A282 SEARCH FLAGGED SINCE 1-Feb-1994 NOT FROM "Smith"
               S: * SEARCH 2 84 882


But of course I cannot tell what is the date format. I would like to use 
ISO8601 if possible. It is easy (at least from python) and it is well 
standardized. But will the IMAP4 server understand it? Okay, I know that 
I can try this with my IMAP server. But how strange it is that the RFC 
does not define the accepted date formats? Will my program work with any 
IMAP server? If any of you have experience with this, please respond.

(I'm sorry, I know it is not strictly related to Python, it is more 
likely an RFC/IMAP question.)

Best,

   Laszlo





More information about the Python-list mailing list