Your IP : 3.145.105.85
3
\t: �
@ sl d Z ddlZddlZddlZyddlZdZW n ek
rD dZY nX ddgZG dd� de�Z dZ
d Zd
ZdZ
ee
ZdZG d
d� d�Zer�G dd� de�Zejd� edk�rhddlZeejd �Zeej� � ejejd � ejejd � ej� ej� \ZZxXeded �D ]FZ ej!e �\Z"Z#Z$ede � xe#D ]Z%ede% � �q<W ed� �qW ej&� dS )z@A POP3 client class.
Based on the J. Myers POP3 draft, Jan. 96
� NTF�POP3�error_protoc @ s e Zd ZdS )r N)�__name__�
__module__�__qualname__� r r �/usr/lib64/python3.6/poplib.pyr s �n i� �
�
i c @ s e Zd ZdZdZeejfdd�Zdd� Z dd� Z
d d
� Zdd� Zd
d� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd=d d!�Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zejd0�Z d1d2� Z!d3d4� Z"d>d5d6�Z#d7d8� Z$d9d:� Z%d?d;d<�Z&dS )@r aP This 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)
CAPA capa()
STLS stls()
UTF8 utf8()
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.
zUTF-8c C s@ || _ || _d| _| j|�| _| jjd�| _d| _| j� | _ d S )NF�rbr )
�host�port�_tls_established�_create_socket�sock�makefile�file�
_debugging�_getresp�welcome)�selfr
r �timeoutr r r �__init__a s z
POP3.__init__c C s t j| j| jf|�S )N)�socketZcreate_connectionr
r )r r r r r r k s zPOP3._create_socketc C s, | j dkrtdt|�� | jj|t � d S )N� z*put*)r �print�reprr Zsendall�CRLF)r �liner r r �_putlinen s
z
POP3._putlinec C s. | j rtdt|�� t|| j�}| j|� d S )Nz*cmd*)r r r �bytes�encodingr )r r r r r �_putcmdu s zPOP3._putcmdc C s� | j jtd �}t|�tkr$td��| jdkr<tdt|�� |sHtd��t|�}|dd � tkrp|d d� |fS |d d� t kr�|dd� |fS |d d � |fS )
Nr z
line too longz*get*z-ERR EOF� ���r% ���r&