
    B
d                     T    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y)    N)decodebytes)message_from_bytes)Settingsc                     | j                  d d      \  }}|dk7  rt        |      |d   j                  d      }|j                         }|S )NALLOKr   utf-8)searchRuntimeErrordecodesplit)serverres_typemessagess      ./modules/mail/client/imap.pyget_message_listr      sO    tU3Hh48$${!!'*H~~HO    c                 j    | D ]  }d|v s|d   dk(  s|dfc S  d| d   v xr
 d| d   d   v }| d   |fS )NContent-Typez
text/plainTr    )payloadmsgis_plain_texts      r   choose_plaintext_or_firstr      sb     S S%8L%H9 #gaj0_\WQZP^E_5_M1:}$$r   c                    t        d       d| v rn| d   }d|v rQ| j                         }t        |t              r%t	        |      dk(  rt        |      \  }}|sJ d       t        |       nt        |       J d|f       t        t              rt        |      }n0t        |t              rt        d       y t        t        |             t        d| j                                | j                  d	      d
k(  r&t        |j                  d            }t        |       nt        | d	          dD ]  }|| v st        || |           t        d       t        d       y )Nz-BEGIN------------------------r   zmultipart/alternative   zWe not support not plain textz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))+G'4(S\Q->!:7!C===u'N,7=,775'4 w'	GS	! 	>?d7m 
'7<<>"{{./8;gnnW-.gg123G %'>#ws|$% 

*+Gr   r   c                     | rL| j                         }|j                  |d      \  }}|dk7  r-	 t        |d   d         }t	        |       | rKy y # t        $ r Y Zw xY w)Nz(RFC822)r   r      )popfetch	parse_msgKeyErrorr3   )r   r   numresultdatar/   s         r   print_message_listr=   >   sh    
lln||C4T>	Q
+G 	g   		s   A 	AAc                     t         j                  d      d   } t        |       }|j                  }	  |j                  rt
        j                  nt
        j                  |j                  |j                        }|S #  |j                  rMt        | d      }t        j                  |j                  j                  |j                  j                        }Y |S  xY w)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GDHHw(('--X\XaXab 88e,H!--(>(>@R@RSK  s   AA: :ACC)rD   r   r   r,   rA   r   r8   modules.mail.client.serversr   r   r   r3   r%   r=   rL   r   r   r   <module>rN      s2     % 1 0%"J
 
r   