2012-02-22 16 views
6

Gmail của tôi đang đầy ... Tôi cần một phương pháp để tìm ra email lớn nhất từ ​​Hộp thư đến và xóa nó. Tuy nhiên, trong giao diện web của gmail, những gì tôi có thể làm là tìm ra các email có đính kèm trước, và sau đó kiểm tra kích thước đính kèm từng cái một.Làm thế nào để xóa các email lớn nhất từ ​​gmail của tôi bằng cách sử dụng một kịch bản python?

Hiệu quả quá thấp!

Tôi cũng tìm thấy một tập lệnh python có thể đăng nhập vào tài khoản gmail của tôi và truy xuất email, qua giao thức imap, nhưng tôi không tìm cách kiểm tra kích thước tệp đính kèm.

Ai đó có thể giúp tôi không? Cảm ơn trước.

+0

bạn có thể thiết lập gmail của bạn trong thunderbird và sắp xếp theo kích thước có – wim

Trả lời

4

Thư viện Imap có phương pháp tìm kiếm. Gần như đã sẵn sàng để sử dụng mã cho bạn.

#!/usr/bin/env python 
import imaplib 
from re import findall 

MAXSIZE = 1000 
MINSIZE = 1 

m = imaplib.IMAP4_SSL('imap.gmail.com') 
m.login('[email protected]','testPassword') 
m.select() 
typ, data = m.search(None, 'ALL') 
typ, data = m.search(None,'(SMALLER %d) (LARGER %d)' % (MAXSIZE * 1000,MINSIZE * 1000)) 
for num in data[0].split(): 
    typ, data = m.fetch(num, '(RFC822)') 
    print 'Message %s\n%s\n' % (num, len(data[0][1])) 
m.close() 
m.logout() 
+0

Tôi đang sử dụng imap_server.search (Không, '(NHỎ HƠN% d) (LARGER% d)' % (10 * 1024 * 1000, 5 * 1024 * 1000)), nhưng lỗi xảy ra: imaplib.error: Lỗi lệnh TÌM KIẾM: BAD ['Không thể phân tích cú pháp lệnh'] – ciphor

+1

Nó hoạt động cho tôi ... – iddqd

+1

Phiên bản python của bạn là gì? – ciphor

Các vấn đề liên quan