
    Ef                     V    d dl Z d dlmZ d dlmZ d dlmZ d Z	d Z
d Zdefd	Zd
 ZdS )    N)decodebytes)message_from_bytes)Settingsc                     |                      d d          \  }}|dk    rt          |          |d                             d          }|                                }|S )NALLOKr   utf-8)searchRuntimeErrordecodesplit)serverres_typemessagess      ./modules/mail/client/imap.pyget_message_listr      s^    tU33Hh48$$${!!'**H~~HO    c                     | D ]}d|v r|d         dk    r|dfc S d| d         v od| d         d         v }| d         |fS )NContent-Typez
text/plainTr    )payloadmsgis_plain_texts      r   choose_plaintext_or_firstr      sm      S  S%8L%H%H9"gaj0_\WQZP^E_5_M1:}$$r   c                    t          d           d| v r| d         }d|v rj|                                 }t          |t                    r1t	          |          dk    rt          |          \  }}|s
J d            t          |           nt          |           J d|f            t          |t                    rt          |          }nBt          |t                    rt          d           d S t          t          |                     t          d	| 	                                           | 
                    d
          dk    r2t          |                    d                    }t          |           nt          | d
                    dD ]}|| v rt          || |                    t          d           t          d           d S )Nz-BEGIN------------------------r   zmultipart/alternative   zWe not support not plain textFzwe not knowu.   - Косячное сообщение --------zKEYS:zContent-Transfer-Encodingbase64r	   )r   SensitivityFromToSubjectz-END--------------------------r   )printget_payload
isinstancelistlenr   choose_plaintextstrtypekeysgetd64encodeexit)messagecontent_typer   plainr   keys         r   parse_messager3      s   	
*+++  ~."l22))++G'4(( >S\\Q->->!:7!C!C=====u'NNNN,7=,7775'4   w''	GS	!	!  	>???d7mm 
'7<<>>"""{{.//8;;gnnW--..gg12333G % %'>>#ws|$$$	
*+++GGGGGr   r   c                     | rt|                                  }|                    |d          \  }}|dk    r6	 t          |d         d                   }n# t          $ r Y _w xY wt	          |           | rd S d S )Nz(RFC822)r   r      )popfetch	parse_msgKeyErrorr3   )r   r   numresultdatar/   s         r   print_message_listr=   >   s    
 	llnn||C44T>>	Q
++GG 	 	 	H	g  	 	 	 	 	s   A 
A! A!c                  n   t                               d          d         } t          |           }|j        }	  |j        rt
          j        nt
          j        |j        |j	                  }nI#  |j        r:t          | d          }t          j        |j        j        |j        j	                  }n Y nxY w|S )N@F)
emailr   r   imapsslimaplib	IMAP4_SSLIMAP4hostnameport)namesettingsrB   imap_servers       r   	make_imaprL   K   s    ;;sBD~~H=DGDHGw(('-X\Xabb8 	e,,H!-(>@RSSKK K s   3A, ,AB2)rD   r   r   r,   rA   r   r8   modules.mail.client.serversr   r   r   r3   r%   r=   rL   r   r   r   <module>rN      s     % % % % % % 1 1 1 1 1 1 0 0 0 0 0 0  % % %" " "J
 
 
 
 
    r   