Edit File: poplib.cpython-311.opt-1.pyc
� �����f^;�����������������������&����d�Z�ddlZddlZddlZddlZ �ddlZdZn #�e$�r�dZY�nw�xY�wddgZ�G�d��de ������������Z dZd Zd Z dZe ez���ZdZ�G�d ��d������������Zer#�G�d��de������������Ze���������������������d�������������edk�����rddlZ�eej��������d���������������������Z�ee������������������������������������������������e���������������������ej��������d����������������������e���������������������ej��������d����������������������e������������������������������������e�����������������������������������\��ZZ�ededz���������������D�]GZ e�!��������������������e ������������\��Z"Z#Z$�ede z���������������e#D�]Z%�ede%z������������������ed��������������He�&�����������������������������������dS�dS�)z@A POP3 client class. Based on the J. Myers POP3 draft, Jan. 96 �����NTF�POP3�error_protoc�������������������������e�Zd�ZdS�)r���N)�__name__� __module__�__qualname__��������-/opt/alt/python311/lib64/python3.11/poplib.pyr���r������s�����������������r ����n���i������� ���� i���c��������������������������e�Zd�ZdZdZeej��������fd�Zd��Z d��Z d��Zd��Zd��Z d ��Zd ��Zd��Zd��Zd ��Zd��Zd��Zd��Zd!d�Zd��Zd��Zd��Zd��Zd��Zd��Zd��Z�ej��������d������������Z d��Z!d��Z"d!d�Z#d��Z$d��Z%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����������������������||�_���������||�_��������d|�_��������t����������j��������d|�||�������������|����������������������|������������|�_��������|�j�����������������������������d������������|�_��������d|�_ ��������|�� ����������������������������������|�_��������d�S�)NFzpoplib.connect�rbr���)�host�port�_tls_established�sys�audit�_create_socket�sock�makefile�file� _debugging�_getresp�welcome)�selfr���r����timeouts��� r����__init__z POP3.__init__b���su�������� ��� � %���� �"�D�$��5�5�5��'�'��0�0�� ��I�&�&�t�,�,�� �����}�}������r ���c������������������j�����|�|st����������d�������������t����������j��������|�j��������|�j��������f|������������S�)Nz0Non-blocking socket (timeout=0) is not supported)� ValueError�socket�create_connectionr���r���)r���r���s��� r���r���zPOP3._create_socketm���s8��������w���O�P�P�P��'���D�I�(>��H�H�Hr ���c������������������������|�j���������dk����rt����������dt����������|�������������������������t����������j��������d|�|�������������|�j�����������������������������|t����������z����������������d�S�)N����z*put*zpoplib.putline)r����print�reprr���r���r����sendall�CRLF�r����lines��� r����_putlinez POP3._putliner���sY�������?�Q����g�t�D�z�z� :� :� :�� �"�D�$�/�/�/�� ���$��+�&�&�&�&�&r ���c�����������������������|�j���������rt����������dt����������|�������������������������t����������||�j��������������������}|����������������������|�������������d�S�)Nz*cmd*)r���r'���r(����bytes�encodingr-���r+���s��� r����_putcmdzPOP3._putcmdz���sH�������?�6�E�'�4��:�:�6�6�6��T�4�=�)�)��� � �d�����r ���c����������������������|�j������������������������������t����������dz���������������}t����������|������������t����������k����rt ����������d�������������|�j��������dk����rt ����������dt����������|�������������������������|st ����������d�������������t����������|������������}|dd�����������t����������k����r|d�d����������|fS�|d�d����������t����������k����r|dd����������|fS�|d�d����������|fS�)Nr&���z line too longz*get*z-ERR EOF������) r����readline�_MAXLINE�lenr���r���r'���r(���r*����CR)r���r,����octetss��� r����_getlinez POP3._getline����s��������y�!�!�(�Q�,�/�/���t�9�9�x����o�.�.�.��?�Q����g�t�D�z�z� :� :� :��2�;�z�2�2�2��T���������9��������9�f�$�$�����8�r�>�>���"��:�v�%�%��C�R�C�y�&� � r ���c������������������������|�������������������������������������\��}}|�j��������dk����rt����������dt����������|�������������������������|���������������������d������������st����������|�������������|S�)Nr&���z*resp*����+)r:���r���r'���r(���� startswithr���)r����resp�os��� r���r���z POP3._getresp����s\�������-�-�/�/���a��?�Q����h��T� � � ;� ;� ;����t�$�$�� $��d�#�#�#��r ���c������������������,����|�������������������������������������}g�}d}|������������������������������������\��}}|dk����r[|���������������������d������������r|dz ��}|dd�����������}||z���}|���������������������|�������������|������������������������������������\��}}|dk�����[|||fS�)Nr�������.s���..r&���)r���r:���r=����append)r���r>����listr9���r,���r?���s��� r����_getlongrespzPOP3._getlongresp����s��������}�}������A�6��-�-�/�/���a��d�l�l����u�%�%�� ��a�C���A�B�B�x���a�Z�F��K�K������m�m�o�o�G�D�!� ��d�l�l���T�6�!�!r ���c������������������T�����|�����������������������|�������������|������������������������������������S��N)r1���r���r+���s��� r���� _shortcmdzPOP3._shortcmd����s"���������T�����}�}���r ���c������������������T�����|�����������������������|�������������|������������������������������������S�rF���)r1���rD���r+���s��� r����_longcmdz POP3._longcmd����s&���������T����� � �"�"�"r ���c�����������������������|�j���������S�rF���)r����r���s��� r���� getwelcomezPOP3.getwelcome����s �������|�r ���c�����������������������||�_���������d�S�rF���)r���)r����levels��� r����set_debuglevelzPOP3.set_debuglevel����s ����������r ���c������������������2�����|�����������������������d|z��������������S�)zVSend user name, return response (should indicate password required). zUSER %s�rG����r����users��� r���rS���z POP3.user����s������ ��~�~�i�$�.�/�/�/r ���c������������������2�����|�����������������������d|z��������������S�)z�Send password, return response (response includes message count, mailbox size). NB: mailbox is locked by server from here to 'quit()' zPASS %srQ���)r����pswds��� r����pass_z POP3.pass_����s��������~�~�i�$�.�/�/�/r ���c�����������������������|�����������������������d������������}|�����������������������������������}|�j��������rt����������dt ����������|�������������������������t����������|d���������������������}t����������|d���������������������}||fS�)z]Get mailbox status. Result is tuple of 2 ints (message count, mailbox size) �STATz*stat*r&�������)rG����splitr���r'���r(����int)r����retval�rets�numMessages�sizeMessagess��� r����statz POP3.stat����sh������ �����'�'���|�|�~�~���?�7�E�(�D��J�J�7�7�7��$�q�'�l�l���4��7�|�|���\�*�*r ���Nc������������������`�����|�|�����������������������d|z��������������S�|����������������������d������������S�)a��Request 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. NzLIST %s�LIST�rG���rI����r����whichs��� r���rC���z POP3.list����s3����������>�>�)�e�"3�4�4�4��}�}�V�$�$�$r ���c������������������2�����|�����������������������d|z��������������S�)zoRetrieve whole message number 'which'. Result is in form ['response', ['line', ...], octets]. zRETR %s�rI���rd���s��� r����retrz POP3.retr����s������ ��}�}�Y��.�/�/�/r ���c������������������2�����|�����������������������d|z��������������S�)zFDelete message number 'which'. Result is 'response'. zDELE %srQ���rd���s��� r����delez POP3.dele���s������ ��~�~�i�%�/�0�0�0r ���c������������������,�����|�����������������������d������������S�)zXDoes nothing. One supposes the response indicates the server is alive. �NOOPrQ���rK���s��� r����noopz POP3.noop��s������ ��~�~�f�%�%�%r ���c������������������,�����|�����������������������d������������S�)z(Unmark all messages marked for deletion.�RSETrQ���rK���s��� r����rsetz POP3.rset��s�������~�~�f�%�%�%r ���c������������������X�����|�����������������������d������������}|�������������������������������������|S�)zDSignoff: commit changes on server, unlock mailbox, close connection.�QUIT)rG����close)r���r>���s��� r����quitz POP3.quit��s%�������~�~�f�%�%��� � �����r ���c����������������������� �|�j���������}d|�_���������|�|������������������������������������|�j��������}d|�_��������|�� �|���������������������t����������j���������������������nB#�t����������$�r5}|j��������t����������j��������k����rt����������|dd������������dk����r��Y�d}~nd}~ww�xY�w|������������������������������������dS�#�|������������������������������������w�xY�wdS�#�|�j��������}d|�_��������|�� �|���������������������t����������j���������������������nB#�t����������$�r5}|j��������t����������j��������k����rt����������|dd������������dk����r��Y�d}~nd}~ww�xY�w|������������������������������������w�#�|������������������������������������w�xY�ww�xY�w)z8Close the connection without assuming anything about it.N�winerrorr���i&'��) r���rs���r����shutdownr#���� SHUT_RDWR�OSError�errno�ENOTCONN�getattr)r���r���r����excs��� r���rs���z POP3.close��s������ !��9�D��D�I���� � �����9�D��D�I��� !��M�M�&�"2�3�3�3�3����������� �U�^�3�3�"�3� �A�6�6�%�?�?����������� ������J�J�L�L�L�L�L��D�J�J�L�L�L�L����� �����9�D��D�I��� !��M�M�&�"2�3�3�3�3����������� �U�^�3�3�"�3� �A�6�6�%�?�?����������� ������J�J�L�L�L�L��D�J�J�L�L�L�L����� ���sv����$C ��A��B/�� B�!+B�B/��B�B/��/C� E-�C<�;E�< D;�+D6�1E�6D;�;E�>E-�E)�)E-c������������������2�����|�����������������������d|z��������������S�)zNot sure what this does.zRPOP %srQ���rR���s��� r����rpopz POP3.rpop7��s�������~�~�i�$�.�/�/�/r ���s���\+OK.[^<]*(<.*>)c������������������H����t����������||�j��������������������}|�j�����������������������������|�j��������������������}|st����������d�������������ddl}|���������������������d������������|z���}|���������������������|������������� ����������������������������������}|�� ��������������������d|�d|��������������S�)a��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()' z!-ERR APOP not supported by serverr���Nr&���zAPOP � )r/���r0���� timestamp�matchr���r����hashlib�group�md5� hexdigestrG���)r���rS����password�secret�mr�����digests��� r����apopz POP3.apop>��s���������x���/�/���N� � ���.�.���� C��A�B�B�B�����������F�"�����V�$�$�.�.�0�0���~�~�~�d�d�d�F�F�;�<�<�<r ���c������������������8�����|�����������������������d|�d|��������������S�)z�Retrieve message header of message number 'which' and first 'howmuch' lines of message body. Result is in form ['response', ['line', ...], octets]. zTOP r����rg���)r���re����howmuchs��� r����topzPOP3.topS��s#��������}�}�}�E�E�E�7�7�;�<�<�<r ���c������������������`�����|�|�����������������������d|z��������������S�|����������������������d������������S�)z�Return 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] NzUIDL %s�UIDLrc���rd���s��� r����uidlz POP3.uidl\��s3����������>�>�)�e�"3�4�4�4��}�}�V�$�$�$r ���c������������������,�����|�����������������������d������������S�)zITry to enter UTF-8 mode (see RFC 6856). Returns server response. �UTF8rQ���rK���s��� r����utf8z POP3.utf8h��s��������~�~�f�%�%�%r ���c�����������������������d��}i�} �|�����������������������d������������}|d���������}|D�]}�||������������\��}}|||<����n#�t����������$�r�t����������d�������������w�xY�w|S�)a���Return server capabilities (RFC 2449) as a dictionary >>> c=poplib.POP3('localhost') >>> c.capa() {'IMPLEMENTATION': ['Cyrus', 'POP3', 'server', 'v2.2.12'], 'TOP': [], 'LOGIN-DELAY': ['0'], 'AUTH-RESP-CODE': [], 'EXPIRE': ['NEVER'], 'USER': [], 'STLS': [], 'PIPELINING': [], 'UIDL': [], 'RESP-CODES': []} >>> Really, according to RFC 2449, the cyrus folks should avoid having the implementation split into multiple arguments... c������������������t�����|�����������������������d�����������������������������������������������}|d���������|dd�����������fS�)N�asciir���r&���)�decoderZ���)r,����lsts��� r���� _parsecapzPOP3.capa.<locals>._parsecap{��s5�������+�+�g�&�&�,�,�.�.�C��q�6�3�q�r�r�7�?�"r ����CAPAr&���z!-ERR CAPA not supported by server)rI���r���)r���r�����capsr>����rawcaps�capline�capnm�capargss��� r����capaz POP3.capan��s������� #�� #�� #���� C��=�=��(�(�D��1�g�G�"�� &�� &��!*��7�!3�!3���w�%��U��� &����� C�� C�� C��A�B�B�B� C�����s ����5=��Ac����������������������t�����������st����������d�������������|�j��������rt����������d�������������|������������������������������������}d|vrt����������d�������������|�t ����������j����������������������}|����������������������d������������}|���������������������|�j��������|�j ���������������������|�_��������|�j��������� ��������������������d������������|�_��������d|�_��������|S�) z{Start a TLS session on the active connection as specified in RFC 2595. context - a ssl.SSLContext z-ERR TLS support missing�$-ERR TLS session already established�STLSz!-ERR STLS not supported by serverN��server_hostnamer���T)�HAVE_SSLr���r���r�����ssl�_create_stdlib_contextrG����wrap_socketr���r���r���r���)r����contextr����r>���s��� r����stlsz POP3.stls���s������� ��� :��8�9�9�9�� �� F��D�E�E�E��y�y�{�{����~�~��A�B�B�B��?��0�2�2�G��~�~�f�%�%���'�'�� �8<� ��(��C��C�� ��I�&�&�t�,�,�� � $����r ���rF���)'r���r���r����__doc__r0���� POP3_PORTr#����_GLOBAL_DEFAULT_TIMEOUTr ���r���r-���r1���r:���r���rD���rG���rI���rL���rO���rS���rV���r`���rC���rh���rj���rm���rp���rt���rs���r����re�compiler����r����r����r����r����r����r����r ���r ���r���r���r���3���s��������������)��)�V��H�"+��7� '�� '�� '�� '�I��I��I� '��'��'������!��!��!�*�����"��"��"� �����#��#��#������ �� �� �0��0��0�0��0��0� +�� +�� +�%��%��%��%�0��0��0�1��1��1�&��&��&�&��&��&� �����!��!��!�80��0��0� ��� �/�0�0�I�=��=��=�*=��=��=� %�� %�� %�� %�&��&��&������:����������r ���c��������������������<�����e�Zd�ZdZeddej��������dfd�Zd��Zdd�Z dS�)�POP3_SSLa��POP3 client class over SSL connection Instantiate with: POP3_SSL(hostname, port=995, keyfile=None, certfile=None, context=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 context - a ssl.SSLContext See the methods of the parent class POP3 for more documentation. Nc������������������.����|�|�t����������d�������������|�|�t����������d�������������|�|� dd�l}|���������������������dt����������d�������������||�_��������||�_��������|�t ����������j��������||�������������}||�_��������t����������� ��������������������|�|||�������������d�S�)Nz4context and keyfile arguments are mutually exclusivez5context and certfile arguments are mutually exclusiver���zAkeyfile and certfile are deprecated, use a custom context insteadrY���)�certfile�keyfile)r"����warnings�warn�DeprecationWarningr����r����r����r����r����r���r ���)r���r���r���r����r����r���r����r����s��� r���r ���zPOP3_SSL.__init__���s��������"�w�':� ��"-��.��.��.��"�x�';� ��"-��.��.��.��"�h�&:������ � ��7�8J�A�O��O��O�"�D�L�$�D�M����4�h�=D�F��F��F��"�D�L��M�M�$��d�G�4�4�4�4�4r ���c������������������~�����t��������������������������������|�|������������}|�j�����������������������������||�j���������������������}|S�)Nr����)r���r���r����r����r���)r���r���r���s��� r���r���zPOP3_SSL._create_socket���sA�������&�&�t�W�5�5�D��<�+�+�D�<@�I��,��G��G�D��Kr ���c������������������ �����t����������d�������������)z�The method unconditionally raises an exception since the STLS command doesn't make any sense on an already established SSL/TLS session. r����)r���)r���r����r����r����s��� r���r����z POP3_SSL.stls���s������ ��D�E�E�Er ���)NNN) r���r���r���r����� POP3_SSL_PORTr#���r����r ���r���r����r ���r ���r���r����r�������sl�������������� �� ��'4�T�D�#�;�T� 5�� 5�� 5�� 5�( �� �� � F�� F�� F�� F�� F�� Fr ���r�����__main__r&���rY�������zMessage %d:z z-----------------------)'r����rz���r����r#���r���r����r�����ImportError�__all__� Exceptionr���r����r����r8����LFr*���r6���r���r����rB���r����argv�ar'���rL���rS���rV���rC���r`����numMsgs� totalSize�range�irh����header�msgr9���r,���rt���r ���r ���r����<module>r�������so�������� ����� � � � �� � � � �� � � � ���J�J�J��H�H����������H�H�H�������-� ���#��"��"��"��"�)��"��"��"�� � ��� ���� �� �"�u�����k��k��k��k��k��k��k��k�\���2�.F��.F��.F��.F��.F�4��.F��.F��.F�`��N�N�:�����z����J�J�J���S�X�a�[���A� �E�!�,�,�.�.�����F�F�3�8�A�;�����G�G�C�H�Q�K�����F�F�H�H�H��6�6�8�8��W�i� �U�1�g��k� "� "��)��)�� !���q� � ����f� ��m�a�� � � ��� �� �D��E�%�$�,����� ��'�(�(�(�(��F�F�H�H�H�H�H���s������%�%