curl / Mailing Lists / curl-library / Single Mail


Re: Question about imap_perform_fetch

From: Daniel Stenberg <>
Date: Mon, 7 May 2018 00:14:08 +0200 (CEST)

On Sun, 6 May 2018, kinglt wrote:

> "imap://;UID=3/;SECTION=TEXT" -
> Selects the user's inbox and fetches the text portion of message 3".
> I tried this, but got wrong result. When using uid it failured with "email
> not exist", but give message sequence number it succeed. This confused me.
> By RFC 5092, imap url "/;UID=xx" surely should be uid, not sequence number.

You'll note by the absense of replies here that IMAP is not one of the most
used protocols in libcurl and it is certainly not the protocol where we have
the most number of experts around for.

*I* certainly can't say if you've identified a bug or not or even what the
actual behavior really should be here. My IMAP knowledge is a bit spotty and
its been a long time since I looked at specified details such as RFC 5092 and
how that URL should be translated to IMAP commands.

> I tried to learn how libcurl source code does. In lib/imap.c
> imap_perform_fetch() maybe the function i guess. Line 695, 700 show the
> command string "FETCH ...", not "UID FETCH ...".  Is it the reason?

It certainly sounds reasonable to assume that's the reason. I'm afraid I can't
tell if that's right or wrong though...

Would you propose a change? And perhaps equally important: if you do that
change, does it work for you?


Received on 2018-05-07