PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` ryMal,c @sdZddlZddlZddgZGdddeZdZdZdZd Z ee Z d Z Gd ddZ yddl Z Wnek rYn$XGd d d e Zejd edkrddlZe ejdZeejejejdejejdejej\ZZxjededD]UZeje\Z Z!Z"edexe!D]Z#ede#qWedqVWej$ndS(u@A POP3 client class. Based on the J. Myers POP3 draft, Jan. 96 iNuPOP3u error_protocBs|EeZdZdS(u error_protoN(u__name__u __module__u __qualname__(u __locals__((u+/opt/alt/python33/lib64/python3.3/poplib.pyu error_protosinis s icBsj|EeZdZdZdZeejddZddZ ddZ d d Z d d Z d dZ ddZddZddZddZddZddZddZddZd6dd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zej d/Z!d0d1Z"d2d3Z#d6d4d5Z$d6S(7uPOP3uThis class supports both the minimal and optional command sets. Arguments can be strings or integers (where appropriate) (e.g.: retr(1) and retr('1') both work equally well. Minimal Command Set: USER name user(name) PASS string pass_(string) STAT stat() LIST [msg] list(msg = None) RETR msg retr(msg) DELE msg dele(msg) NOOP noop() RSET rset() QUIT quit() Optional Commands (some servers support these): RPOP name rpop(name) APOP name digest apop(name, digest) TOP msg n top(msg, n) UIDL [msg] uidl(msg = None) Raises one exception: 'error_proto'. Instantiate with: POP3(hostname, port=110) NB: the POP protocol locks the mailbox from user authorization until QUIT, so be sure to get in, suck the messages, and quit, each time you access the mailbox. POP is a line-based protocol, which means large mail messages consume lots of python cycles reading them line-by-line. If it's available on your mail server, use IMAP4 instead, it doesn't suffer from the two problems above. uUTF-8cCsU||_||_|j||_|jjd|_d|_|j|_dS(Nurbi( uhostuportu_create_socketusockumakefileufileu _debuggingu_getrespuwelcome(uselfuhostuportutimeout((u+/opt/alt/python33/lib64/python3.3/poplib.pyu__init__Vs    u POP3.__init__cCstj|j|jf|S(N(usocketucreate_connectionuhostuport(uselfutimeout((u+/opt/alt/python33/lib64/python3.3/poplib.pyu_create_socket_suPOP3._create_socketcCs=|jdkr%tdt|n|jj|tdS(Niu*put*(u _debugginguprintureprusockusendalluCRLF(uselfuline((u+/opt/alt/python33/lib64/python3.3/poplib.pyu_putlinebsu POP3._putlinecCsB|jrtdt|nt||j}|j|dS(Nu*cmd*(u _debugginguprintureprubytesuencodingu_putline(uselfuline((u+/opt/alt/python33/lib64/python3.3/poplib.pyu_putcmdis u POP3._putcmdcCs|jjtd}t|tkr7tdn|jdkr\tdt|n|sqtdnt|}|ddtkr|dd|fS|dt kr|dd |fS|dd |fS( Niu line too longu*get*u-ERR EOFiiiiii( ufileureadlineu_MAXLINEulenu error_protou _debugginguprinturepruCRLFuCR(uselfulineuoctets((u+/opt/alt/python33/lib64/python3.3/poplib.pyu_getliness u POP3._getlinecCsY|j\}}|jdkr7tdt|n|jdsUt|n|S(Niu*resp*s+(u_getlineu _debugginguprinturepru startswithu error_proto(uselfurespuo((u+/opt/alt/python33/lib64/python3.3/poplib.pyu_getresps u POP3._getrespcCs|j}g}d}|j\}}xe|dkr|jdre|d}|dd}n||}|j||j\}}q-W|||fS(Nis.s..i(u_getrespu_getlineu startswithuappend(uselfurespulistuoctetsulineuo((u+/opt/alt/python33/lib64/python3.3/poplib.pyu _getlongresps    uPOP3._getlongrespcCs|j||jS(N(u_putcmdu_getresp(uselfuline((u+/opt/alt/python33/lib64/python3.3/poplib.pyu _shortcmds uPOP3._shortcmdcCs|j||jS(N(u_putcmdu _getlongresp(uselfuline((u+/opt/alt/python33/lib64/python3.3/poplib.pyu_longcmds u POP3._longcmdcCs|jS(N(uwelcome(uself((u+/opt/alt/python33/lib64/python3.3/poplib.pyu getwelcomesuPOP3.getwelcomecCs ||_dS(N(u _debugging(uselfulevel((u+/opt/alt/python33/lib64/python3.3/poplib.pyuset_debuglevelsuPOP3.set_debuglevelcCs|jd|S(uVSend user name, return response (should indicate password required). uUSER %s(u _shortcmd(uselfuuser((u+/opt/alt/python33/lib64/python3.3/poplib.pyuusersu POP3.usercCs|jd|S(uSend password, return response (response includes message count, mailbox size). NB: mailbox is locked by server from here to 'quit()' uPASS %s(u _shortcmd(uselfupswd((u+/opt/alt/python33/lib64/python3.3/poplib.pyupass_su POP3.pass_cCsd|jd}|j}|jr:tdt|nt|d}t|d}||fS(u]Get mailbox status. Result is tuple of 2 ints (message count, mailbox size) uSTATu*stat*ii(u _shortcmdusplitu _debugginguprinturepruint(uselfuretvaluretsu numMessagesu sizeMessages((u+/opt/alt/python33/lib64/python3.3/poplib.pyustats  u POP3.statcCs*|dk r|jd|S|jdS(uRequest listing, return result. Result without a message number argument is in form ['response', ['mesg_num octets', ...], octets]. Result when a message number argument is given is a single response: the "scan listing" for that message. uLIST %suLISTN(uNoneu _shortcmdu_longcmd(uselfuwhich((u+/opt/alt/python33/lib64/python3.3/poplib.pyulists u POP3.listcCs|jd|S(uoRetrieve whole message number 'which'. Result is in form ['response', ['line', ...], octets]. uRETR %s(u_longcmd(uselfuwhich((u+/opt/alt/python33/lib64/python3.3/poplib.pyuretrsu POP3.retrcCs|jd|S(uFDelete message number 'which'. Result is 'response'. uDELE %s(u _shortcmd(uselfuwhich((u+/opt/alt/python33/lib64/python3.3/poplib.pyudelesu POP3.delecCs |jdS(uXDoes nothing. One supposes the response indicates the server is alive. uNOOP(u _shortcmd(uself((u+/opt/alt/python33/lib64/python3.3/poplib.pyunoopsu POP3.noopcCs |jdS(u(Unmark all messages marked for deletion.uRSET(u _shortcmd(uself((u+/opt/alt/python33/lib64/python3.3/poplib.pyursetsu POP3.rsetcCs|jd}|j|S(uDSignoff: commit changes on server, unlock mailbox, close connection.uQUIT(u _shortcmduclose(uselfuresp((u+/opt/alt/python33/lib64/python3.3/poplib.pyuquits u POP3.quitcCsR|jdk r|jjn|jdk r>|jjnd|_|_dS(u8Close the connection without assuming anything about it.N(ufileuNoneucloseusock(uself((u+/opt/alt/python33/lib64/python3.3/poplib.pyuclose s u POP3.closecCs|jd|S(uNot sure what this does.uRPOP %s(u _shortcmd(uselfuuser((u+/opt/alt/python33/lib64/python3.3/poplib.pyurpopsu POP3.rpops\+OK.*(<[^>]+>)cCst||j}|jj|j}|s<tdnddl}|jd|}|j|j }|j d||fS(u Authorisation - only possible if server has supplied a timestamp in initial greeting. Args: user - mailbox user; password - mailbox password. NB: mailbox is locked by server from here to 'quit()' u!-ERR APOP not supported by serveriNiu APOP %s %s( ubytesuencodingu timestampumatchuwelcomeu error_protouhashlibugroupumd5u hexdigestu _shortcmd(uselfuuserupasswordusecretumuhashlibudigest((u+/opt/alt/python33/lib64/python3.3/poplib.pyuapops  u POP3.apopcCs|jd||fS(uRetrieve message header of message number 'which' and first 'howmuch' lines of message body. Result is in form ['response', ['line', ...], octets]. u TOP %s %s(u_longcmd(uselfuwhichuhowmuch((u+/opt/alt/python33/lib64/python3.3/poplib.pyutop3suPOP3.topcCs*|dk r|jd|S|jdS(uReturn message digest (unique id) list. If 'which', result contains unique id for that message in the form 'response mesgnum uid', otherwise result is the list ['response', ['mesgnum uid', ...], octets] uUIDL %suUIDLN(uNoneu _shortcmdu_longcmd(uselfuwhich((u+/opt/alt/python33/lib64/python3.3/poplib.pyuuidl<s u POP3.uidlN(%u__name__u __module__u __qualname__u__doc__uencodingu POP3_PORTusocketu_GLOBAL_DEFAULT_TIMEOUTu__init__u_create_socketu_putlineu_putcmdu_getlineu_getrespu _getlongrespu _shortcmdu_longcmdu getwelcomeuset_debugleveluuserupass_ustatuNoneulisturetrudeleunoopursetuquitucloseurpopureucompileu timestampuapoputopuuidl(u __locals__((u+/opt/alt/python33/lib64/python3.3/poplib.pyuPOP3*s:(                  cBsD|EeZdZdZeddejdddZddZ dS(uPOP3_SSLuPOP3 client class over SSL connection Instantiate with: POP3_SSL(hostname, port=995, keyfile=None, certfile=None) hostname - the hostname of the pop3 over ssl server port - port number keyfile - PEM formatted file that contains your private key certfile - PEM formatted certificate chain file See the methods of the parent class POP3 for more documentation. cCs|dk r'|dk r'tdn|dk rN|dk rNtdn||_||_||_tj||||dS(Nu4context and keyfile arguments are mutually exclusiveu5context and certfile arguments are mutually exclusive(uNoneu ValueErrorukeyfileucertfileucontextuPOP3u__init__(uselfuhostuportukeyfileucertfileutimeoutucontext((u+/opt/alt/python33/lib64/python3.3/poplib.pyu__init__Zs   uPOP3_SSL.__init__cCsUtj||}|jdk r6|jj|}ntj||j|j}|S(N(uPOP3u_create_socketucontextuNoneu wrap_socketusslukeyfileucertfile(uselfutimeoutusock((u+/opt/alt/python33/lib64/python3.3/poplib.pyu_create_socketgs uPOP3_SSL._create_socketN( u__name__u __module__u __qualname__u__doc__u POP3_SSL_PORTuNoneusocketu_GLOBAL_DEFAULT_TIMEOUTu__init__u_create_socket(u __locals__((u+/opt/alt/python33/lib64/python3.3/poplib.pyuPOP3_SSLMs   uPOP3_SSLu__main__iiiu Message %d:u u-----------------------(%u__doc__ureusocketu__all__u Exceptionu error_protou POP3_PORTu POP3_SSL_PORTuCRuLFuCRLFu_MAXLINEuPOP3usslu ImportErroruPOP3_SSLuappendu__name__usysuargvuauprintu getwelcomeuuserupass_ulistustatunumMsgsu totalSizeurangeuiuretruheaderumsguoctetsulineuquit(((u+/opt/alt/python33/lib64/python3.3/poplib.pyus@    "