cURL / Mailing Lists / curl-library / Single Mail



From: Steve Holme <>
Date: Mon, 7 Apr 2014 22:07:53 +0100

On Mon, 7 Apr 2014, Dionysios Kalofonos wrote:

> I am writing you regarding the IMAP API and in particular the FETCH
> command.
> According to the curl_easy_setopt documentation a FETCH request
> is made with the URL
> imap://;UID=1
> However, even though in the URL we set a UID the command issued is
> FETCH 1 and not UID FETCH 1 which is inconsistent with the rfc3501.

Unfortunately you are correct. Curl doen't implement the UID based commands
at present. The IMAP protocol is still work-in-progress to a certain degree
as I believe we have very few users* of and the current implementation is
only a year old.

Are the UID variants preferred over the non UID versions?

> I then tried to make a UID FETCH request through a
> CURLOPT_CUSTOMREQUEST. However, the response handler for
> custom requests (see imap.c:imap_state_list_resp) cannot handle
> the case where the response returns continuation data. For
> example the custom request

Currently all custom requests for IMAP overload the behaviour of a LIST
command :(

Whilst the URL handling in curl is based of RFC-5092 it doesn't implement it
100% at the moment. For example:

* SEARCH command is via custom command at not URL query parameter
* Doesn't support the <ipartial> keyword
* Doesn't support <enc_mailbox> for EXAMINE custom request

These are things that I would like to change so if you have any suggestions
or ideas about how we may do this or fancy helping out with some patches
that would be fantastic.

Kind Regards


* A guess based on the number of emails we receive about it and the infancy
of the protocol in curl.
List admin:
Received on 2014-04-07