aboutsummaryrefslogtreecommitdiffstats
path: root/camel/providers
diff options
context:
space:
mode:
Diffstat (limited to 'camel/providers')
-rw-r--r--camel/providers/imap/camel-imap-folder.c10
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 {