IMAP protocol support in different email servers

2019-04-11 14:01发布

问题:

Having to interact with several different email servers via IMAP (using javamail), I have found that there is a very different level of support for IMAP features among them. The lack of support of some features has resulted in more developing time, more complicated code to deal with different support, worse perforamance due to not being able to SEARCH etc.

So I would like to get some info on other servers and what level of support they provide. So far I have dealt with Lotus Domino and Novell GroupWise (and to a lesser extend Exchange 2003 and 2007). I am particularly interested in most used one in unix/linux (Courier, Cyrus, Dovecot, UW IMAP) and also Zimbra, but feel free to add any you know. Also welcomed info about online services like gmail.

Features that I consider (comment if you are interested in others and I'll add them.

  • Custom flags
  • Searching Custom flags
  • Searching arbitrary headers
  • Partial fetching
  • Proxy authentication

And what I have found so far (correct if I am wrong anywhere):

Lotus Domino

  • Custom flags yes
  • Searching Custom flags yes
  • Searching arbitrary headers yes
  • Partial fetching ?
  • Proxy authentication sort of, you can give some user permissions to access other users mailboxes and he will see them under his '\Other Users' folder

Novell GroupWise

  • Custom flags No
  • Searching Custom flags No
  • Searching arbitrary headers No
  • Partial fetching ?
  • Proxy authentication yes, you can use what is called a Trusted Application

Dovecot

  • Custom flags: yes
  • Searching Custom: yes
  • Searching arbitrary headers: yes
  • Partial fetching: yes
  • Proxy authentication: ?

Remarks: A list of custom flags is sent in "FLAGS" response of SELECT/EXAMINE commands and "PERMANENTFLAGS" response of SELECT command. This also includes flags that are no longer used. I'm not sure whether it's possible to get rid of these.

Gmail

  • Custom flags: yes
  • Searching Custom: yes
  • Searching arbitrary headers: yes
  • Partial fetching: yes
  • Proxy authentication: no

kudos Lukas! I'll wait for your exchange info and I'll add some stuff if you don't have it (I tested some time ago so your info will be more reliable)

回答1:

This is what I tried so far. I will try to add more later (have access to Exchange 2003&2007 and Courier) later.

Dovecot

  • Custom flags: yes
  • Searching Custom: yes
  • Searching arbitrary headers: yes
  • Partial fetching: yes
  • Proxy authentication: ?

Remarks: A list of custom flags is sent in "FLAGS" response of SELECT/EXAMINE commands and "PERMANENTFLAGS" response of SELECT command. This also includes flags that are no longer used. I'm not sure whether it's possible to get rid of these.

Gmail

  • Custom flags: yes
  • Searching Custom: yes
  • Searching arbitrary headers: yes
  • Partial fetching: yes
  • Proxy authentication: most likely not

Remarks: It looks like there is no way to retrieve a list of currently-used custom flags.



回答2:

Gmail IMAP session, doesn't look too good for PROXYAUTH:

---
* OK Gimap ready for requests from 1.1.1.1 wi9if8940621pbc.126
A001 LOGIN testuser testpassword
* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE
A001 OK testuser Test User authenticated (Success)
A001 PROXYAUTH someotheruser
A001 BAD Unknown command: PROXYAUTH