Edit File: smtplib.cpython-311.opt-2.pyc
� �����fw������������������������(���� �d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dlZd�dl Z d�dl Z d�dlZd�dlm Z�g�d�ZdZdZdZdZdZd Z�ej��������d ej��������������������Z�G�d��de������������Z�G�d ��de������������Z�G�d��de������������Z�G�d��de������������Z�G�d��de������������Z�G�d��de������������Z�G�d��de������������Z �G�d��de������������Z!�G�d��de������������Z"�G�d��de������������Z#d��Z$d ��Z%d!��Z&d"��Z'd#��Z( �d�dl)Z)d$Z*n #�e+$�r�d%Z*Y�nw�xY�w�G�d&��d'������������Z,e*r#�G�d(��d)e,������������Z-e�.��������������������d)�������������d*Z/�G�d+��d,e,������������Z0e1d-k����r�d.��Z2�e2d/������������Z3�e2d0�������������4��������������������d1������������Z5�e6d2�������������d3Z7 �ej8���������9����������������������������������Z:e:sne7e:z���Z7�"�e6d5�e;e7������������z����������������e,d6������������Z<e<�=��������������������d4�������������e<�>��������������������e3e5e7�������������e<�?�����������������������������������dS�dS�)7�����N)�body_encode) � SMTPException�SMTPNotSupportedError�SMTPServerDisconnected�SMTPResponseException�SMTPSenderRefused�SMTPRecipientsRefused� SMTPDataError�SMTPConnectError� SMTPHeloError�SMTPAuthenticationError� quoteaddr� quotedata�SMTP����i���� s��� i� ������z auth=(.*)c�������������������������e�Zd�ZdS�)r���N��__name__� __module__�__qualname__��������./opt/alt/python311/lib64/python3.11/smtplib.pyr���r���H���s��������������>�>r���r���c�������������������������e�Zd�ZdS�)r���Nr���r���r���r���r���r���K��������������������r���r���c�������������������������e�Zd�ZdS�)r���Nr���r���r���r���r���r���R���s����������������r���r���c�������������������������e�Zd�Z �d��ZdS�)r���c������������������4�����||�_���������||�_��������||f|�_��������d�S��N)� smtp_code� smtp_error�args)�self�code�msgs��� r����__init__zSMTPResponseException.__init__c���s�������������3�K�� � � r���N�r���r���r���r(���r���r���r���r���r���Z���s(��������������� �� �� �� �� r���r���c�������������������������e�Zd�Z �d��ZdS�)r���c������������������D�����||�_���������||�_��������||�_��������|||f|�_��������d�S�r!���)r"���r#����senderr$���)r%���r&���r'���r,���s��� r���r(���zSMTPSenderRefused.__init__o���s)����������������3��'�� � � r���Nr)���r���r���r���r���r���h���s(���������������(��(��(��(��(r���r���c�������������������������e�Zd�Z �d��ZdS�)r ���c������������������$�����||�_���������|f|�_��������d�S�r!���)� recipientsr$���)r%���r/���s��� r���r(���zSMTPRecipientsRefused.__init__}���s������$����M�� � � r���Nr)���r���r���r���r ���r ���u���s(���������������"��"��"��"��"r���r ���c�������������������������e�Zd�ZdS�)r ���Nr���r���r���r���r ���r �������s��������������1�1r���r ���c�������������������������e�Zd�ZdS�)r���Nr���r���r���r���r���r�������s��������������0�0r���r���c�������������������������e�Zd�ZdS�)r���Nr���r���r���r���r���r�������s��������������,�,r���r���c�������������������������e�Zd�ZdS�)r ���Nr���r���r���r���r ���r �������r���r���r ���c����������������������� �t�����������j�����������������������������|�������������\��}}||fdk����r.|���������������������������������������������������������d������������r|�S�d|�z��S�d|z��S�)N���r6����<z<%s>)�email�utils� parseaddr�strip� startswith�� addrstring�displayname�addrs��� r���r���r�������sp����������-�-�j�9�9��K���T��h�&�&������(�(��-�-�� ���� �"�"��D�=�r���c������������������^�����t�����������j�����������������������������|�������������\��}}||fdk����r|�S�|S�)Nr5���)r8���r9���r:���r=���s��� r���� _addr_onlyrB�������s7��������-�-�j�9�9��K���T��h�&�&����Kr���c����������� �������b����� �t����������j��������ddt����������j��������dt����������|�������������������������S�)Nz(?m)^\.z..�(?:\r\n|\n|\r(?!\n))��re�sub�CRLF��datas��� r���r���r�������s3������� ��6�*�d� ��&��d�3�3�5��5��5r���c������������������.�����t����������j��������dd|�������������S�)Ns���(?m)^\.s���..)rF���rG���)�bindatas��� r����_quote_periodsrM�������s������ �6�+�u�g�.�.�.r���c������������������8�����t����������j��������dt����������|�������������S�)NrD���rE���rI���s��� r���� _fix_eolsrO�������s�������F�*�D�$�7�7�7r���TFc��������������������F����e�Zd�Z �dZdZdZdZdZdZdZ e Zdddej ��������dfd�Zd��Zd��Zd ��Zd ��Zd��Zd,d �Zd��Zd-d�Zd��Zd-d�Zd-d�Zd-d�Zd��Zd-d�Zd��Zd��Zd��Zd.d�Z d.d�Z!d��Z"d��Z#e#Z$d��Z%d��Z&d d!�d"�Z'd/d#�Z(d/d$�Z)d/d%�Z*d d!�d&�Z+d0d'�Z, � �d1d(�Z- � �d2d)�Z.d*��Z/d+��Z0dS�)3r���r���N�ehloFr6���c����������������������� �||�_���������||�_��������i�|�_��������d|�_��������||�_��������d|�_��������|rC|����������������������||������������\��}}|dk����r$|�������������������������������������t����������||�������������|� ||�_ ��������d�S�t����������j����������������������}d|v�r ||�_ ��������d�S�d} �t����������j��������t����������j ����������������������������������} n#�t����������j��������$�r�Y�nw�xY�wd| z��|�_ ��������d�S�)N�asciir���������.z 127.0.0.1z[%s])�_host�timeout�esmtp_features�command_encoding�source_address�_auth_challenge_count�connect�closer����local_hostname�socket�getfqdn� gethostbyname�gethostname�gaierror) r%����host�portr^���rW���rZ���r&���r'����fqdnr@���s ��� r���r(���z SMTP.__init__����s����� ���� ���� ��� '���,���%&��"��� 2��,�,�t�T�2�2�K�T�3��s�{�{�� � ����&�t�S�1�1�1��%�"0�D���� ��>�#�#�D��d�{�{�&*��#�#�#��#���!�/��0B�0D�0D�E�E�D�D�����������D�����&,�t�m��#�#�#s����%C��C�Cc�����������������������|�S�r!���r����r%���s��� r���� __enter__zSMTP.__enter__��s�������r���c������������������������ �|�����������������������d������������\��}}|dk����rt����������||�������������n#�t����������$�r�Y�nw�xY�w|�������������������������������������d�S�#�|�������������������������������������w�xY�w)N�QUIT�����)�docmdr���r���r]���)r%���r$���r&����messages��� r����__exit__z SMTP.__exit__��s������ � �J�J�v�.�.�M�D�'��s�{�{�+�D�'�:�:�:����%�� �� �� ��D� ����� �J�J�L�L�L�L�L��D�J�J�L�L�L�L���s!����.1��A�� >�A��>�A��A-c����������������������� �||�_���������d�S�r!���)� debuglevel)r%���rq���s��� r����set_debuglevelzSMTP.set_debuglevel"��s������ ��%����r���c������������������������|�j���������dk����rJt����������t����������j������������������������������������������������������������������������������g|�R�dt ����������j��������i��d�S�t����������|dt ����������j��������i��d�S�)N�����file)rq����print�datetime�now�time�sys�stderr�r%���r$���s��� r����_print_debugzSMTP._print_debug+��sk�������?�Q����(�#�'�'�)�)�.�.�0�0�I�4�I�I�I�c�j�I�I�I�I�I��4�)�c�j�)�)�)�)�)r���c�����������������������|�|st����������d�������������|�j��������dk����r|����������������������d||f|�j���������������������t ����������j��������||f||�j��������������������S�)N�0Non-blocking socket (timeout=0) is not supportedr���zconnect: to)� ValueErrorrq���r}���rZ���r_����create_connection)r%���rd���re���rW���s��� r����_get_socketzSMTP._get_socket1��sm���������w���O�P�P�P��?�Q������m�d�D�\�4�;N�O�O�O��'��t��g�(,�(;�=��=�� =r���� localhostc������������������T���� �|r||�_���������|s�|���������������������d������������|���������������������d������������k����r`|���������������������d������������}|dk����rE|d�|����������||dz���d�����������}} �t����������|������������}n#�t����������$�r�t����������d�������������w�xY�w|s|�j��������}t����������j��������d|�||�������������|�� ��������������������|||�j ��������������������|�_��������d�|�_��������|�� ����������������������������������\��}}|�j��������dk����r#|����������������������dt!����������|�������������������������||fS�)N�:r���rt���znonnumeric portzsmtplib.connect�connect:)rZ����find�rfind�intr�����OSError�default_portrz����auditr����rW����sockru����getreplyrq���r}����repr)r%���rd���re���rZ����ir&���r'���s��� r���r\���zSMTP.connect;��s=����� ���� 1�"0�D���� 5����3���4�:�:�c�?�?�:�:�� � �3���A��A�v�v�!�"�1�"�X�t�A��E�F�F�|�d��5��t�9�9�D�D��!��5��5��5�!�"3�4�4�4�5������ %��$�D�� �#�T�4��6�6�6��$�$�T�4���>�>�� ��� ��m�m�o�o���s��?�Q������j�$�s�)�)�4�4�4��c�{�s����,A<��<Bc���������������������� �|�j���������dk����r#|����������������������dt����������|�������������������������|�j��������r�t ����������|t ����������������������r|���������������������|�j��������������������}t����������j ��������d|�|������������� �|�j��������� ��������������������|�������������d�S�#�t����������$�r$�|�������������������������������������t����������d�������������w�xY�wt����������d�������������)Nr���zsend:zsmtplib.send�Server not connectedzplease run connect() first)rq���r}���r����r����� isinstance�str�encoderY���rz���r�����sendallr����r]���r���)r%����ss��� r����sendz SMTP.send\��s�������%��?�Q������g�t�A�w�w�/�/�/��9�� G��!�S�!�!�� 4���H�H�T�2�3�3���I�n�d�A�.�.�.� E�� �!�!�!�$�$�$�$�$���� E�� E�� E�� � ����,�-C�D�D�D� E�����)�)E�F�F�Fs����=B��.Cc������������������������ �|dk����r|}n|��d|���}d|v�sd|v�r<|����������������������dd����������������������������������dd������������}t����������d|����������������|����������������������|��t��������������������������d�S�)Nr6���� � � z\nz\rz=command and arguments contain prohibited newline characters: )�replacer����r����rH���)r%����cmdr$���r����s��� r����putcmdzSMTP.putcmdo��s�������+��2�:�:��A�A�������A��1�9�9��� � �� � �$��&�&�.�.�t�U�;�;�A��S�PQ�S�S����� �� � � �Q�,��,�,�����r���c���������������������� �g�}|�j����������|�j�����������������������������d������������|�_��������� � �|�j������������������������������t����������dz���������������}nE#�t ����������$�r8}|�������������������������������������t����������dt����������|������������z����������������d�}~ww�xY�w|s#|�������������������������������������t����������d�������������|�j ��������dk����r#|�� ��������������������dt����������|�������������������������t����������|������������t����������k����r$|�������������������������������������t����������dd�������������|���������������������|d d��������������������������������d �������������������������|d�d����������} �t!����������|������������}n#�t"����������$�r�d}Y�nw�xY�w|dd ����������d k����rn��fd���������������������|������������}|�j ��������dk����r|�� ��������������������d|�d|���������������||fS�)N�rbrt���z Connection unexpectedly closed: zConnection unexpectedly closedr���zreply:i���zLine too long.����s��� �����������-���� zreply: retcode (z); Msg: )ru���r�����makefile�readline�_MAXLINEr����r]���r���r����rq���r}���r�����lenr����appendr;���r����r�����join)r%����resp�line�er&����errcode�errmsgs��� r���r����z SMTP.getreply|��s������ �����9��� �*�*�4�0�0�D�I� � 7��y�)�)�(�Q�,�7�7������ 7�� 7�� 7�� � ����,�-O�/2�1�v�v�.6��7��7��7����� 7������� O�� � ����,�-M�N�N�N����"�"��!�!�(�D��J�J�7�7�7��4�y�y�8�#�#�� � ����+�C�1A�B�B�B��K�K��Q�R�R����z�2�2�3�3�3�����8�D� ��d�)�)������ �� �� ����� ������A�a�C�y�D� � ��5 �8����D�!�!���?�Q������������P�Q�Q�Q����s)����"A�� B�3B�B�E.��.E=�<E=c������������������X����� �|�����������������������||�������������|������������������������������������S�r!����r����r����)r%���r����r$���s��� r���rm���z SMTP.docmd���s'������;����C������}�}���r���c����������������������� �|�����������������������d|p|�j���������������������|������������������������������������\��}}||�_��������||fS�)N�helo)r����r^���r����� helo_resp)r%����namer&���r'���s��� r���r����z SMTP.helo���sG������ �� ���F�D�7�D�$7�8�8�8��m�m�o�o���s�����c�{�r���c���������������������� �i�|�_���������|����������������������|�j��������|p|�j���������������������|������������������������������������\��}}|dk����r6t����������|������������dk����r#|�������������������������������������t����������d�������������||�_��������|dk����r||fS�d|�_ ��������|�j��������� ��������������������d���������������������������������d������������}|d=�|D��]}t����������� ��������������������|������������}|rC|�j������������������������������dd ������������d z���|���������������������d������������d���������z���|�j���������d<����bt!����������j ��������d|������������}|r�|���������������������d�����������������������������������������������}|j��������|���������������������d������������d����������������������������������������������} |dk����r+|�j������������������������������|d ������������d z���| z���|�j���������|<�����| |�j���������|<�����||fS�) Nr����r���r��������Tzlatin-1r�����authr6���r����z((?P<feature>[A-Za-z0-9][A-Za-z0-9\-]*) ?�feature)rX���r�����ehlo_msgr^���r����r����r]���r���� ehlo_resp� does_esmtp�decode�split� OLDSTYLE_AUTH�match�get�groupsrF����group�lower�string�endr;���) r%���r����r&���r'���r�����each� auth_match�mr�����paramss ��� r���rQ���z SMTP.ehlo���s������ ��!������D�M�4�#>�4�+>�?�?�?��m�m�o�o���s���2�:�:�#�c�(�(�a�-�-��J�J�L�L�L�(�)?�@�@�@�����3�;�;��#�;�������~�$�$�Y�/�/�5�5�d�;�;����G��� :�� :�D��'�,�,�T�2�2�J��� �.2�.A�.E�.E�f�b�.Q�.Q��/� *� 1� 1�!� 4� 4�Q� 7�/8��#�F�+�����D�d�K�K�A��� :��'�'�)�,�,�2�2�4�4����!�%�%� �"2�"2�"3�"3�4�:�:�<�<���f�$�$�37�3F�3J�3J�7�TV�3W�3W�!�4"�$*�4+�D�'��0�0��4:�D�'��0���c�{�r���c������������������:����� �|������������������������������������|�j��������v�S�r!���)r����rX���)r%����opts��� r����has_extnz SMTP.has_extn���s������E��y�y�{�{�d�1�1�1r���c������������������d����� �|�����������������������d|�������������|������������������������������������d���������S�)N�helprt���r����r|���s��� r���r����z SMTP.help���s.������ *����F�D�!�!�!��}�}���q�!�!r���c������������������<����� �d|�_���������|����������������������d������������S�)NrS����rset)rY���rm���rh���s��� r���r����z SMTP.rset���s������4� '����z�z�&�!�!�!r���c������������������T����� � �|��������������������������������������d�S�#�t����������$�r�Y�d�S�w�xY�wr!���)r����r���rh���s��� r����_rsetz SMTP._rset���s?������ � ��I�I�K�K�K�K�K��%�� �� �� ��D�D� ���s������ '�'c������������������.����� �|�����������������������d������������S�)N�noop)rm���rh���s��� r���r����z SMTP.noop��s������;��z�z�&�!�!�!r���r���c������������������L���� �d}|rd|�j���������r]t����������d��|D���������������������������r,|����������������������d������������rd|�_��������nt ����������d�������������dd���������������������|������������z���}|����������������������ddt����������|�������������|���������������|������������������������������������S�) Nr6���c��������������3����F���K����|�]}|������������������������������������d�k����V����dS�)�smtputf8N)r����)�.0�xs��� r���� <genexpr>zSMTP.mail.<locals>.<genexpr>��s/����������:�:�Q�1�7�7�9�9�j�(�:�:�:�:�:�:r���r����zutf-8z SMTPUTF8 not supported by serverr�����mailzFROM:) r�����anyr����rY���r���r����r����r���r����)r%���r,����options� optionlists��� r���r����z SMTP.mail��s������� ��� ��� 1�t��� 1��:�:�'�:�:�:�:�:�� <��=�=��,�,��<�,3�D�)�)�/�:�<��<��<��s�x�x��0�0�0�J����F�F�9�V�+<�+<�+<�j�j�I�J�J�J��}�}���r���c������������������������ �d}|r|�j���������rdd���������������������|������������z���}|����������������������ddt����������|�������������|���������������|������������������������������������S�)Nr6���r�����rcptzTO:)r����r����r����r���r����)r%����recipr����r����s��� r���r����z SMTP.rcpt$��sg������I�� ��� 1�t��� 1��s�x�x��0�0�0�J����F�F��5�)9�)9�)9�:�:�F�G�G�G��}�}���r���c������������������T���� �|�����������������������d�������������|������������������������������������\��}}|�j��������dk����r|����������������������d||f�������������|dk����rt ����������||�������������t����������|t����������������������r"t����������|���������������������������������d������������}t����������|������������}|dd�����������t����������k����r |t����������z���}|dz���t����������z���}|����������������������|�������������|������������������������������������\��}}|�j��������dk����r|����������������������d||f�������������||fS�)NrJ���r���zdata:ib��rS����������.)r����r����rq���r}���r ���r����r����rO���r����rM����bCRLFr����)r%���r'���r&����repl�qs��� r���rJ���z SMTP.data,��s����� �� ���F�����}�}�����t��?�Q������g��d�|�4�4�4��3�;�;���d�+�+�+��#�s�#�#�� 5���n�n�+�+�G�4�4���s�#�#�A�����v������I���D��5� �A��I�I�a�L�L�L��-�-�/�/�K�T�3����"�"��!�!�'�D�#�;�7�7�7��#�;�r���c������������������r����� �|�����������������������dt����������|�������������������������|������������������������������������S�)N�vrfy�r����rB���r�����r%����addresss��� r����verifyzSMTP.verifyI��s/������C����F�J�w�/�/�0�0�0��}�}���r���c������������������r����� �|�����������������������dt����������|�������������������������|������������������������������������S�)N�expnr����r����s��� r���r����z SMTP.expnP��s/������<����F�J�w�/�/�0�0�0��}�}���r���c������������������������ �|�j����������d|�j���������_d|������������������������������������d���������cxk����rdk����s<n�|������������������������������������\��}}d|cxk����rdk����sn�t ����������||�������������d�S�d�S�d�S�d�S�)N�����r���i+��)r����r����rQ���r����r���)r%���r&���r����s��� r����ehlo_or_helo_if_neededzSMTP.ehlo_or_helo_if_neededW��s������� ���>�!�d�n�&<��4�9�9�;�;�q�>�0�0�0�0�S�0�0�0�0�#�y�y�{�{���t��t�*�*�*�*�s�*�*�*�*�'��d�3�3�3� �"�!�&<�&<�0�0�*�*r���T��initial_response_okc��������������������� �|������������������������������������}|r �|��������������nd�}|�Kt����������|���������������������d������������d�������������}|����������������������d|dz���|z���������������\��}}d|�_��������n |����������������������d|������������\��}}d|�_��������|dk����r�|�xj��������dz ��c_��������t����������j��������|������������}t�����������||���������������������������������d������������d�������������}|����������������������|������������\��}}|�j��������t����������k����r!t����������d t����������||f������������z����������������|dk������|d v�r||fS�t����������||�������������)NrS���r6���)�eol�AUTHr����rt���r���iN��z4Server AUTH mechanism infinite loop. Last response: ������i���)�upper� encode_base64r����rm���r[����base64�decodebytes� _MAXCHALLENGEr���r����r ���) r%���� mechanism� authobjectr�����initial_response�responser&���r����� challenges ��� r���r����z SMTP.authh��sz����� �*��O�O�%�%� �,?�I�J�J�L�L�L�T���'�$�%5�%<�%<�W�%E�%E�2�N�N�N�H��:�:�f�i�#�o��.H�I�I�L�T�4�)*�D�&�&��:�:�f�i�8�8�L�T�4�)*�D�&��c�k�k��&�&�!�+�&�&��*�4�0�0�I�$�� �9�%�%�,�,�W�5�5�2�?��?��?�H��:�:�h�/�/�L�T�4��)�M�9�9�#�J��D�$�<�(�(�)��������c�k�k���:����$�<��%�d�D�1�1�1r���c����������������������� �|�d�S�|�j���������dz���t����������j��������|�j�����������������������������d������������|d�����������������������������������������������z���S�)Nr����rS����md5)�user�hmac�HMAC�passwordr����� hexdigest�r%���r��s��� r���� auth_cram_md5zSMTP.auth_cram_md5���sW������ (�����4��y�3�����M� � ��)�)�9�e�"=��"=�=F�Y�[�[�I�� Ir���c������������������&�����d|�j����������d|�j����������S�)N��)r ��r��r��s��� r���� auth_plainzSMTP.auth_plain���s������ $�!�Y�Y�Y�� � �6�6r���c������������������:����� �|�|�j���������dk�����r|�j��������S�|�j��������S�)N����)r[���r ��r��r��s��� r���� auth_loginzSMTP.auth_login���s*������ $���� :�Q� >� >��9���=� r���c���������������������� �|��������������������������������������|����������������������d������������st����������d�������������|�j��������d���������������������������������������������g�d�}�fd�|D���������������}|st����������d�������������||c|�_��������|�_��������|D�]z}d|������������������������������������ ��������������������dd������������z���} �|�� ��������������������|t����������|�|������������|� ������������\��}} |d v�r|| fc�S��b#�t����������$�r} | }Y�d�} ~ �sd�} ~ ww�xY�w|�)Nr����z,SMTP AUTH extension not supported by server.)zCRAM-MD5�PLAIN�LOGINc������������������������g�|�]}|�v��|�� S�r���r���)r����r�����advertised_authlists��� �r���� <listcomp>zSMTP.login.<locals>.<listcomp>���s.��������4��4��4�T��2�2�2���2�2�2r���z(No suitable authentication method found.�auth_�-�_r����r����) r����r����r���rX���r����r���r ��r��r����r����r�����getattrr ���) r%���r ��r��r�����preferred_auths�authlist� authmethod�method_namer&���r����r�����last_exceptionr��s ��� @r����loginz SMTP.login���s������� �6� �#�#�%�%�%��}�}�V�$�$�� @�'�>�@��@�� @��#�1�&�9�?�?�A�A���9�8�8��4��4��4��4�_��4��4��4���� L�� J�K�K�K� �$(�� �� �4�=�"�� #�� #�J�!�J�$4�$4�$6�$6�$>�$>�s�C�$H�$H�H�K� #�#�y�y����k� :� :�(;�� )�� =�� =���t� ��:�%�%� �$�<�'�'�'��&��*�� #�� #�� #�!"����������� #������s����<0C0�0 D�:D�Dc������������������\���� �|��������������������������������������|����������������������d������������st����������d�������������|����������������������d������������\��}}|dk����r�t����������st����������d�������������|�|�t ����������d�������������|�|�t ����������d�������������|�|� dd�l}|���������������������d t����������d �������������|�t����������j��������||�������������}|���������������������|�j ��������|�j���������������������|�_ ��������d�|�_��������d�|�_��������d�|�_��������i�|�_��������d |�_��������nt)����������||�������������||fS�)N�starttlsz+STARTTLS extension not supported by server.�STARTTLSrT���z&No SSL support included in this Python�4context and keyfile arguments are mutually exclusive�5context and certfile arguments are mutually exclusiver����Akeyfile and certfile are deprecated, use a custom context insteadr����certfile�keyfile��server_hostnameF)r����r����r���rm���� _have_ssl�RuntimeErrorr�����warnings�warn�DeprecationWarning�ssl�_create_stdlib_context�wrap_socketr����rV���ru���r����r����rX���r����r���)r%���r.��r-���contextr�����replyr3��s��� r���r'��z SMTP.starttls���s������ � � �#�#�%�%�%��}�}�Z�(�(�� ?�'�=�?��?�� ?�� � �:�.�.� ��u��3�;�;��� M�"�#K�L�L�L��"�w�':� ��"-��.��.��.��"�x�';� ��"-��.��.��.��"�h�&:������ � ��7�8J�A�O��O��O����4�h�=D�F��F��F���+�+�D�I�<@�J��,��H��H�D�I��D�I� �"�D�N�!�D�N�"$�D��#�D�O�O� �(��e�4�4�4��e�}�r���c������������������>���� �|��������������������������������������g�}t����������|t����������������������r"t����������|���������������������������������d������������}|�j��������rT|����������������������d������������r%|���������������������dt����������|������������z���������������|D�]}|���������������������|��������������|�� ��������������������||������������\��}} |dk����r@|dk����r|�� �����������������������������������n|�������������������������������������t����������|| |�������������i�} t����������|t����������������������r|g}|D�]W}|�� ��������������������||������������\��}} |dk����r |dk����r|| f| |<���|dk����r#|�� �����������������������������������t����������| ��������������Xt����������| ������������t����������|������������k����r#|�������������������������������������t����������| �������������|����������������������|������������\��}} |dk����r?|dk����r|�� �����������������������������������n|�������������������������������������t!����������|| �������������| S�)NrS����sizezsize=%dr����i�������)r����r����r����rO���r����r����r����r����r����r����r]���r����r���r����r ���rJ���r ���)r%���� from_addr�to_addrsr'����mail_options�rcpt_options� esmtp_opts�optionr&���r�����senderrsr����s��� r����sendmailz SMTP.sendmail(��s�����= �|� �#�#�%�%�%�� ��c�3���� 1��C�.�.�'�'��0�0�C��?�� *��}�}�V�$�$�� 8��!�!�)�c�#�h�h�"6�7�7�7�&�� *�� *���!�!�&�)�)�)�)��y�y��J�7�7���t��3�;�;��s�{�{�� � ������ � ����#�D�$� �:�:�:����h��$�$�� "� �z�H��� 6�� 6�D��9�9�T�<�8�8�L�T�4�����$�#�+�+�"&�������s�{�{�� � ����+�H�5�5�5�����x�=�=�C��M�M�)�)��J�J�L�L�L�'��1�1�1��y�y��~�~���t��3�;�;��s�{�{�� � ������ � ������d�+�+�+��r���c���������������������� �|��������������������������������������|���������������������d������������}|�d}n%t����������|������������dk����rd}nt����������d�������������|�I|dz���|v�r||dz������������n ||dz������������}t����������j�����������������������������|g������������d���������d���������}|�Sd ��||d z������������||dz������������||dz������������fD���������������}d ��t����������j�����������������������������|������������D���������������}t����������j��������|������������} | d=�| d=�d} �d���������������������|g|�������������� ��������������������d�������������n6#�t����������$�r)�|����������������������d������������st����������d�������������d} Y�nw�xY�wt����������j����������������������5�}| rDt����������j�����������������������������||j�����������������������������d��������������������������}g�|�d�d�R�}nt����������j�����������������������������|������������}|���������������������| d��������������|�����������������������������������} d�d�d��������������n#�1�swxY�w�Y���|����������������������||| ||������������S�)NzResent-Dater6���rt���zResent-z0message has more than one 'Resent-' header block�Sender�Fromr���c�����������������������g�|�]}|�|��S�r!���r���)r�����fs��� r���r��z%SMTP.send_message.<locals>.<listcomp>���s(�������-��-��-��� �m����,�m�mr����To�Bcc�Ccc�����������������������g�|�] }|d������������S�)rt���r���)r�����as��� r���r��z%SMTP.send_message.<locals>.<listcomp>���s������L�L�L���!��L�L�Lr���z Resent-BccFrS���r����z�One or more source or delivery addresses require internationalized email support, but the server does not advertise the required SMTPUTF8 capabilityT)�utf8)�policy�SMTPUTF8z BODY=8BITMIMEr���)�linesep)r�����get_allr����r����r8���r9����getaddresses�copyr����r�����UnicodeEncodeErrorr����r����io�BytesIO� generator�BytesGeneratorrQ���clone�flatten�getvaluerE��)r%���r'���r>��r?��r@��rA���resent� header_prefix�addr_fields�msg_copy� international�bytesmsg�g�flatmsgs��� r����send_messagezSMTP.send_message���s������ �:� �#�#�%�%�%����]�+�+���>��M�M� ��[�[�A� � �%�M�M��O�P�P�P���� -�x�7�C�?�?���]�X�5�6�6� #�M�F�$:� ;�� ����0�0�)��=�=�a�@��C�I���-��-�s�=�4�+?�'@�'*�=�5�+@�'A�'*�=�4�+?�'@�'B��-��-��-�K��M�L�e�k�&>�&>�{�&K�&K�L�L�L�H��9�S�>�>���U�O��\�"�� � !��G�G�Y�*��*�+�+�2�2�7�;�;�;�;��!�� !�� !�� !��=�=��,�,�� L�+�K�L��L��L��!�M�M�M� !������Z�\�\�� *�X��� =��O�2�2��S�Z�%5�%5�4�%5�%@�%@��3��B��B��K��K�z�K�?�K�K����O�2�2�8�<�<�� �I�I�h��I�/�/�/��'�'�)�)�G� *�� *�� *�� *�� *�� *�� *�� *�� *�� *�� *����� *�� *�� *�� *���}�}�Y��'�<�)�+��+�� +s%����+D>��>0E1�0E1�BH$�$H(�+H(c������������������������ � �|�j���������}d�|�_���������|r|������������������������������������|�j��������}d�|�_��������|r|������������������������������������d�S�d�S�#�|�j��������}d�|�_��������|r|������������������������������������w�w�xY�wr!���)ru���r]���r����)r%���ru���r����s��� r���r]���z SMTP.close���s�������6� ��9�D��D�I��� �� � �����9�D��D�I��� �� � ������ �� ����9�D��D�I��� �� � ����� ���s����$A��'A6c����������������������� �|�����������������������d������������}d�x|�_��������|�_��������i�|�_��������d|�_��������|�������������������������������������|S�)N�quitF)rm���r����r����rX���r����r]���)r%����ress��� r���rj��z SMTP.quit���sE������)��j�j�� � ��*.�.����� ������� � ����� r����r����r���N)r6���)r���r!���)NNN)r���r���)NNr���r���)1r���r���r���rq���r����ru���r����r����r����r����� SMTP_PORTr����r_����_GLOBAL_DEFAULT_TIMEOUTr(���ri���ro���rr���r}���r����r\���r����r����r����rm���r����rQ���r����r����r����r����r����r����r����rJ���r����r����r����r����r����r��r��r��r%��r'��rE��rg��r]���rj��r���r���r���r���r�������s���������������8��J��D��D��I��H��I��J��L��Q�t��7� $�.4��.4��.4��.4�`����������%��%��%�*��*��*�=��=��=��������BG��G��G�& �� �� �� �/��/��/�b��������������1��1��1��1�f2��2��2�"��"��"��"�"��"��"� �� �� �"��"��"��������*������������:����� ��D������4��4��4�"�BF��.2��.2��.2��.2��.2�`I��I��I��I�7��7��7��7� !��!��!��!��<@��@��@��@��@��@�D6��6��6��6�p�?A� �f��f��f��f�P�:>�35�K+��K+��K+��K+�Z�������������r���r���c��������������������F�������e�Zd�Z �eZdddddej��������ddfd�Z��fd�Z��xZ S�)�SMTP_SSLr6���r���Nc ������������������2����|�|�t����������d�������������|�|�t����������d�������������|�|� dd�l} | ���������������������dt����������d�������������||�_��������||�_��������|�t ����������j��������||�������������}||�_��������t����������� ��������������������|�|||||�������������d�S�)Nr)��r*��r���r+��r��r,��)r����r3��r4��r5��r.��r-��r6��r7��r9��r���r(���) r%���rd���re���r^���r.��r-��rW���rZ���r9��r3��s ��� r���r(���zSMTP_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�N�G�(� *�� *�� *�� *�� *r���c�������������������������|�j���������dk����r|����������������������d||f�������������t���������������������������������������������|||������������}|�j�����������������������������||�j���������������������}|S�)Nr���r����r/��)rq���r}����superr����r9��r8��rV���)r%���rd���re���rW���� new_socket� __class__s��� �r���r����zSMTP_SSL._get_socket��sp����������"�"��!�!�*�t�T�l�;�;�;����,�,�T�4��A�A�J���1�1�*�BF�*��2��N��N�J��r���) r���r���r���� SMTP_SSL_PORTr����r_���rn��r(���r����� __classcell__�ru��s���@r���rp��rp�����so��������������� ��%�� "��4�!�D�#�;�$(�$� *�� *�� *�� *�. �� �� �� �� �� �� �� �� r���rp��i���c��������������������F�������e�Zd�Z �dZdeddej��������f��fd� Zd��fd� Z��xZ S�) �LMTP�lhlor6���Nc������������������V������ �t���������������������������������������������|||||��������������d�S�)N)r^���rZ���rW���)rs��r(���)r%���rd���re���r^���rZ���rW���ru��s��� �r���r(���z LMTP.__init__<��sA�������(� ������t�N�(6��� �� I�� I�� I�� I�� Ir���r����r���c������������������������ �|d���������dk����r$t���������������������������������������������|||�������������S�|�j���������|�j��������st����������d������������� �t ����������j��������t����������j��������t����������j��������������������|�_��������|�j��������t����������j��������ur|�j��������� ��������������������|�j���������������������d�|�_ ��������|�j�����������������������������|�������������nW#�t����������$�rJ�|�j��������dk����r|�� ��������������������d|�������������|�j��������r|�j��������������������������������������������d�|�_����������w�xY�w|������������������������������������\��}}|�j��������dk����r|�� ��������������������d|�������������||fS�)Nr����/)rZ���r���z connect fail:r����)rs��r\���rW���r����r_����AF_UNIX�SOCK_STREAMr����rn��� settimeoutru���r����rq���r}���r]���r����)r%���rd���re���rZ���r&���r'���ru��s��� �r���r\���zLMTP.connectB��sV������K���7�c�>�>��7�7�?�?�4��n�?�M�M�M��<�#�D�L�#��O�P�P�P� �� �f�n�f�6H�I�I�D�I��|�6�#A�A�A�� �$�$�T�\�2�2�2��D�I��I���d�#�#�#�#���� �� �� ����"�"��!�!�/�4�8�8�8��y�� "�� ���!�!�!��D�I�� ������m�m�o�o���s��?�Q������j�#�.�.�.��c�{�s����BC��AD'rl��) r���r���r���r����� LMTP_PORTr_���rn��r(���r\���rw��rx��s���@r���rz��rz��,��s|���������������4���H��Y�t� $�f�.L�I��I��I��I��I��I�������������������r���rz���__main__c������������������������t�����������j�����������������������������|�dz����������������t�����������j��������������������������������������������t�����������j������������������������������������������������������������������������������S�)Nz: )rz����stdout�write�flush�stdinr����r;���)�prompts��� r���r���r���a��sP������� ����$��'�'�'�� �������y�!�!�#�#�)�)�+�+�+r���rH��rK���,zEnter message, end with ^D:r6���rt���zMessage length is %dr����)@r_���rX��rF����email.utilsr8���� email.message�email.generatorr����r ��rV��rw���rz����email.base64mimer���r�����__all__rm��rv��rH���r����r����r���compile�Ir����r����r���r���r���r���r���r ���r ���r���r���r ���r���rB���r���rM���rO���r6��r1���ImportErrorr���rp��r����r���rz��r���r����fromaddrr�����toaddrsrv���r'���r���r����r����r�����serverrr���rE��rj��r���r���r����<module>r������s������R�� � � �� � � � �� � � � �������������������������� � � � ����������������� � � � ��9��9��9��9��9��9�-��-��-�� � � �� � ������� ��� �<���.�.� �?��?��?��?��?�G��?��?��?����������M����������������]������� �� �� �� �� �M�� �� �� �(��(��(��(��(�-��(��(��(� "�� "�� "�� "�� "�M�� "�� "�� "�2��2��2��2��2�)��2��2��2�1��1��1��1��1�,��1��1��1�-��-��-��-��-�)��-��-��-����������3�����������������5��5��5�/��/��/�8��8��8���J�J�J���I�I�����������I�I�I�����t��t��t��t��t��t��t��t�l� ��1�-��-��-��-��-�4��-��-��-�^��N�N�:���� � � �/��/��/��/��/�4��/��/��/�h��z���,��,��,� ��v�f�~�~�H��f�T�l�l� � ��%�%�G� �E� '�(�(�(� �C���y�!�!�#�#���� ���D�j�� � � �E� �3�3�s�8�8� +�,�,�,� �T�+� � �F� ���!���� �O�O�H�g�s�+�+�+� �K�K�M�M�M�M�M�)��s����6C=��=D�D