o
    j_                     @   s  d dl mZ d dlZeeZd dlZd dlZd dlZd dl	Z	d dl
Z
d dlmZ d dlmZmZ d dlmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlm Z  d dl!m"Z" d dl#m$Z$ dddZ%		dddZ&		dddZ'dS )    )absolute_importN)gethostname)PopenPIPE)
COMMASPACE
formatdate)message_from_string)MIMEText)	MIMEImage)MIMEMessage)MIMEMultipart)MIMEApplication)MIMENonMultipart)encode_base64)six c              
   C   s  t  d }t |d }|r|jn|d }d}| g}|d ur$|| d|t f }t|ddd}	| |	d< d	|	d
< t	 |	d< dt
 t |f |	d< ztd}
|
|||	  td W d S  ty } ztd t| W Y d }~d S d }~ww )Nr      zrobot@spyne.io%s

%sutf8plainToSpyne <robot@spyne.io>FromDatez
(%s@%s) %sSubject	localhostzError email sentzError: unable to send email)inspecttrace	getmodule__name__extend	traceback
format_excr	   encoder   getpassgetuserr   smtplibSMTPsendmail	as_stringloggererror	Exception	exception)exception_addressmessagebccfrmmodmodule_namesender
recipients	error_strmsgsmtp_objecte r;   P/var/www/html/LicenciasMiG/venv/lib/python3.10/site-packages/spyne/util/email.pyemail_exception/   s,   



r=   r      c           	      C   s   |d u rd}t  }|d urd||f }t|ddd}t| |d< ||d< t |d< ||d< t||}t	j
rD||| |  n	||| |  td	|  d S )
Nr   r   r   r   r   r   r   r   Text email sent to: %r.)r"   r#   r	   r$   r   joinr   r'   r(   r   PY2r)   r*   as_bytesr+   info)		addressesr5   subjectr0   hostportexcr8   r9   r;   r;   r<   email_text_smtpK   s   
rI   c                 C   s  |d u ri }|d u rd}t  }|d ur"|dkr"|dkr"d||f }t|ddd}t|dkrt }|| | D ]S\}	}
t	|	\}}|dkrSt
t|
}n0|d	rdt|
|d
dd }n|d ur|d
d\}}t||}||
 t| nt|
}|| |jdd|	d q=|}t| |d< ||d< t |d< ||d< g d}||  |d ur|| t|td}tjr||  n||  t !d|  d S )Nr   zNone
zNoneType: None
r   r   r   r   zmessage/rfc822zimage//r   r   zContent-Disposition
attachment)filenamer   r   r   r   )z/usr/sbin/sendmailz-oiz--)stdinr?   )"r"   r#   r	   r$   lenr   attachitems	mimetypes
guess_typer   r   
startswithr
   rsplitsplitr   set_payloadr   r   
add_headerr   r@   r   r!   r   r   r   rA   communicater*   rB   r+   rC   )rD   r5   rE   r0   r1   attrH   r8   newmsgkv	mime_typeencodingpartmime_type_mainmime_type_subcmdpr;   r;   r<   
email_texta   sN   








rd   )r   N)Nr   r   r   r>   )Nr   r   NN)(
__future__r   logging	getLoggerr    r+   r%   r   r"   r'   rQ   socketr   
subprocessr   r   email.utilsr   r   emailr   email.mime.textr	   email.mime.imager
   email.mime.messager   email.mime.multipartr   email.mime.applicationr   email.mime.nonmultipartr   email.encodersr   
spyne.utilr   r=   rI   rd   r;   r;   r;   r<   <module>   s6   


