data = '''\ MIME-Version: 1.0 Content-type: multipart/mixed; boundary="boundary" This is a message with multiple parts in MIME format. --boundary X-Appcfg-File: static/foo%2Bbar X-Appcfg-Hash: 864f52dc_bf5d1a45_15e2b611_29746d47_835e27e2 Content-Type: application/octet-stream Content-Length: 6 Content-Transfer-Encoding: 8bit echo\r --boundary-- ''' import cStringIO as io import email.parser def main(): fp = io.StringIO(data) parser = email.parser.Parser() message = parser.parse(fp) assert message.is_multipart() parts = message.get_payload() body_part_zero = parts[0].get_payload() assert body_part_zero == 'echo\r\n', repr(body_part_zero) # FAIL main()