'Only for multipart messages: return the message\'s body as a
list of SubMessage objects.  Each submessage object behaves
(almost) as a Message object.'

def getbodyparts(self):

    if (self.getmaintype() != 'multipart'):
        raise Error, 'Content-Type    is    not    multipart/*'
    bdry = self.getparam('boundary')
    if (not bdry):
        raise Error, 'multipart/*    without    boundary    param'
    self.fp.seek(self.startofbody)
    mf = multifile.MultiFile(self.fp)
    mf.push(bdry)
    parts = []
    while mf.next():
        n = ('%s.%r' % (self.number, (1 + len(parts))))
        part = SubMessage(self.folder, n, mf)
        parts.append(part)
    mf.pop()
    return parts
