I'm having troubles with a script that uses the get_payload function. My script just works perfectly if I use it with attachment up to 8 Mb. If the attachment are more than 8 Mb large, the script exits with a TypeError exception. IMHO when get_payload try to convert the attachment in a single string it occours in some size limit. How can I fix it?
I'm using python-2.3.3 on a SuSE 9.1 distro The error raised is Traceback (most recent call last): File "/usr/local/sbin/mailbox2home.py", line 44, in ? fp.write(part.get_payload(decode=1)) TypeError: argument 1 must be string or read-only buffer, not None and this is the slice of code where the error occours. for message in messages: for part in message.walk(): # multipart/* are just containers if part.get_content_maintype() == 'multipart': continue # Applications should really sanitize the given filename so that an # email message can't be used to overwrite important files filename = part.get_filename() if not filename: ext = mimetypes.guess_extension(part.get_type()) if not ext: # Use a generic bag-of-bits extension ext = '.bin' filename = 'part-%03d%s' % (counter, ext) counter += 1 fp = open(os.path.join(dir, filename), 'wb') fp.write(part.get_payload(decode=1)) fp.close() -- http://mail.python.org/mailman/listinfo/python-list