Subject: [imapext] NIL boundary in multipart emails

From: Valerio Valerio <[email-masked]>
Date: Thu, 12 Mar 2015 09:06:58 +0200

Hi All,

while chasing a bug in our IMAP implementation noticed that one server 
replies to a BODYSTRUCTURE fetch command with a structure containing NIL 
boundary for multipart emails, e.g:

SEND UID FETCH 36 (FLAGS UID INTERNALDATE RFC822.SIZE BODYSTRUCTURE 
RFC822.HEADER)
RECV: * 7 FETCH (FLAGS (\Unseen) UID 36 INTERNALDATE "12-Mar-2015 
09:25:30 +0300" RFC822.SIZE 18142 BODYSTRUCTURE (("text" "plain" 
("charset" "utf-8") NIL NIL "quoted-printable" 34433 0 NIL NIL NIL 
NIL)("text" "html" ("charset" "utf-8") NIL NIL "quoted-printable" 108403 
0 NIL NIL NIL NIL) "alternative" ("boundary" NIL)) RFC822.HEADER {2558}

I can gracefully handle this situation, but by my understanding of RFC 
2046[1], this is invalid, first the boundary does exist and is not empty 
and in case it was empty server should send something like "". Since 
this server always reply like that and is a big provider in 
Russia(mail.ru) I was wondering if I'm missing something here ?

Thanks in advance.

Best regards,

Valério