I'm trying to use the following code to get my remote server's folder size information. Unfortunately, i'm getting the error:
Traceback (most recent call last): File "/Life/School/Homework/Spring 2006/OPIM 399/Tutorial/IMAP/mailboxsize.py", line 23, in -toplevel- number_of_messages_all += int(number_of_messages[0]) ValueError: invalid literal for int(): The requested item could not be found. What seems to be the problem? My code is here: import sys, os, string, imaplib, getpass imap_server = "webmail.xxxxx.xxxxx.edu" # Open a connection to the IMAP server M = imaplib.IMAP4_SSL(imap_server) M.login('xxxx', getpass.getpass()) # The list of all folders result,list = M.list() print "%-30s%5s%10s\n" % ("Folder", "# Msg", "Size") number_of_messages_all = 0 size_all = 0 for item in list[:]: x = item.split() mailbox = string.join(x[2:]) # Select the desired folder result, number_of_messages = M.select(mailbox, readonly=1) number_of_messages_all += int(number_of_messages[0]) size_folder = 0 # Go through all the messages in the selected folder typ, msg = M.search(None, 'ALL') # Find the first and last messages m = [int(x) for x in msg[0].split()] m.sort() if m: message_set = "%d:%d" % (m[0], m[-1]) result, sizes_response = M.fetch(message_set, "(UID RFC822.SIZE)") for i in range(m[-1]): tmp = sizes_response[i].split() size_folder += int(tmp[-1].replace(')', '')) else: size_folder = 0 print "%-30s%5d%10s" % (mailbox, int(number_of_messages[0]), size_folder); size_all += size_folder print "\n%-30s%5i%10.3f MB\n" % ("Sum", number_of_messages_all, size_all/1e6) # Close the connection M.logout() -- http://mail.python.org/mailman/listinfo/python-list