o
    å/œhM  ã                   @   sr   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ dd„ Z	dd„ Z
d	d
„ Zdd„ Zdd„ Zddd„ZdS )é    N)Ú	text_type)ÚYagAddressError)Ú
formataddrc                 C   sz   dg i}|durt ||dƒ n|dur |dur t | |g|dƒ n|d  | ¡ |dur1t ||dƒ |dur;t ||dƒ |S )z; Handle the targets addresses, adding aliases when defined Ú
recipientsNÚToÚCcÚBcc)Úmake_addr_alias_targetÚappend)ÚuserÚ	useraliasÚtoÚccÚbccÚ	addresses© r   úC/var/www/html/myenv/lib/python3.10/site-packages/yagmail/headers.pyÚresolve_addresses	   s   r   c                 C   s\   t | tƒrd| vr| d7 } | | fS t | tƒr,t| ƒdkr,t|  ¡ ƒd t|  ¡ ƒd fS t‚)Nú@z
@gmail.comé   r   )Ú
isinstancer   ÚdictÚlenÚlistÚkeysÚvaluesr   )Ú
email_addrr   r   r   Úmake_addr_alias_user   s   

 r   c                 C   s¤   t | tƒr|d  | ¡ | ||< d S t | tƒst | tƒr7tdd„ | D ƒƒs't‚|d  | ¡ d | ¡||< d S t | t	ƒrP|d  |  
¡ ¡ d |  ¡ ¡||< d S t‚)Nr   c                 S   s   g | ]}t |tƒ‘qS r   )r   r   )Ú.0Úkr   r   r   Ú
<listcomp>)   s    z*make_addr_alias_target.<locals>.<listcomp>ú,)r   r   r
   r   ÚtupleÚallr   ÚextendÚjoinr   r   r   )Úxr   Úwhichr   r   r   r	   $   s   

r	   c                 C   s(   |sd S t |tƒrd |¡}|| d< d S )Nú ÚSubject)r   r   r%   )ÚmsgÚsubjectr   r   r   Úadd_subject4   s
   

r,   c                 C   s`   t d | dd¡ dd¡¡| gƒ|d< d|v r|d |d< n||d< d|v r.|d |d< d S d S )	Nz{0}ú\z\\ú"z\"ÚFromr   r   )r   ÚformatÚreplace)r   r   r*   r   r   r   r   Úadd_recipients_headers<   s   &ÿr2   Tc                 C   sn   |d u r1|rd  t| d | d gƒ¡|  dd¡ }n
tt ¡ t ¡  ƒ}dt | ¡ ¡ 	¡  d }|| d< d S )	Nr(   r/   r   r)   ÚNoneú<z	@yagmail>z
Message-ID)
r%   ÚsortedÚgetÚstrÚtimeÚrandomÚhashlibÚmd5ÚencodeÚ	hexdigest)r*   Ú
message_idÚgroup_messagesÚaddrr   r   r   Úadd_message_idJ   s   (rA   )NT)r8   r9   r:   Úyagmail.compatr   Úyagmail.errorr   Úemail.utilsr   r   r   r	   r,   r2   rA   r   r   r   r   Ú<module>   s    