diff options
Diffstat (limited to 'camel/providers')
-rw-r--r-- | camel/providers/imap/camel-imap-folder.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/camel/providers/imap/camel-imap-folder.c b/camel/providers/imap/camel-imap-folder.c index 8852b1f292..87807bcbe5 100644 --- a/camel/providers/imap/camel-imap-folder.c +++ b/camel/providers/imap/camel-imap-folder.c @@ -679,7 +679,8 @@ fetch_medium (CamelFolder *folder, const char *uid, const char *section_text, CAMEL_IMAP_STORE_LOCK (store, command_lock); if (store->server_level < IMAP_LEVEL_IMAP4REV1 && !*section_text) { response = camel_imap_command (store, folder, ex, - "UID FETCH %s RFC822.PEEK"); + "UID FETCH %s RFC822.PEEK", + uid); } else { response = camel_imap_command (store, folder, ex, "UID FETCH %s BODY.PEEK[%s]", @@ -694,7 +695,12 @@ fetch_medium (CamelFolder *folder, const char *uid, const char *section_text, if (!result) return NULL; - p = e_strstrcase (result, "BODY"); + + if (store->server_level < IMAP_LEVEL_IMAP4REV1 && !*section_text) + p = e_strstrcase (result, "RFC822"); + else + p = e_strstrcase (result, "BODY"); + if (p) medium = parse_headers (&p, type); else { |