Python版mogmail バージョン1.1
以前作成した、こちらのスクリプトを改良。
http://mogproject.blogspot.com/2011/04/pythonmogmail.html
・ヘッダを得るだけなのに、retr() を行うのは冗漫だった。top(which, 0) で十分。
・Fromにダブルクオーテーションが含まれているとBase64デコードに失敗していた。
事前に除去する。
mogmail.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #!/usr/bin/env python # Copyright (c) 2011 Mog Project. All rights reserved. # Version: 1.1, Updated: 2011/10/12 import poplib import email from email.header import make_header from email.header import decode_header from email.utils import parsedate_tz from email.utils import mktime_tz import time POP3_SERVER = 'POP3-Server' POP3_PORT = 110 POP3_USERNAME = 'UserName' POP3_PASSWORD = 'Password' SHOW_LENGTH = 5 f = lambda key: unicode (make_header(decode_header( headers[key].replace( '"' , '')))) try : pop3 = poplib.POP3(POP3_SERVER, POP3_PORT) pop3.apop(POP3_USERNAME, POP3_PASSWORD) msg_cnt = pop3.stat()[ 0 ] for i in range (msg_cnt, max (msg_cnt - SHOW_LENGTH, 0 ), - 1 ): headers = email.message_from_string( '\n' .join(pop3.top(i, 0 )[ 1 ])) print time.strftime( '[%m/%d %H:%M]' , time.localtime(mktime_tz(parsedate_tz(headers[ 'date' ])))), print '%s\n %s' % (f( 'from' ), f( 'subject' )) pop3.quit() except poplib.error_proto, detail: print 'POP3 Protocol Error:' , detail |
0 件のコメント:
コメントを投稿