
    ah	                     T    d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	  G d d      Z
y)    N)ListOptional)MIMEMultipart)MIMEText)MIMEApplicationc                   b    e Zd ZdededefdZ	 	 	 	 	 ddedeee      ded	ed
ee   dedefdZy)
EmailClasssender_emailsender_namesender_passwordc                 J    || _         || _        || _        d| _        d| _        y )Nzsmtp.gmail.comi  )r
   r   r   smtp_server	smtp_port)selfr
   r   r   s       bC:\Users\jesus\OneDrive\Escritorio\backend-lacasadelvitrificado\app\backend\classes\email_class.py__init__zEmailClass.__init__   s)    (&.+    Nreceiver_emailccsubjectmessage	pdf_bytespdf_filenamereturnc                 >   	 t               }| j                  |d<   ||d<   ||d<   |xs g D cg c]  }|s|	 }	}|	rdj                  |	      |d<   |j                  t	        |d             |r4t        |d      }
|
j                  d	d
| d       |j                  |
       |g|	z   }t        j                  | j                  | j                        5 }|j                  | j                  | j                         |j                  | j                  ||j                                d d d        yc c}w # 1 sw Y   yxY w# t        j                  $ r Y yt        j                   $ r}dt#        |       cY d }~S d }~wt$        $ r}dt#        |       cY d }~S d }~ww xY w)NFromToSubjectz, Cchtmlpdf)_subtypezContent-Dispositionzattachment; filename=""zCorreo enviado correctamenteui   Error de autenticación: Verifica tu email y contraseña (usa una contraseña de aplicación si es Gmail)zError al enviar el correo: z&Error inesperado al enviar el correo: )r   r
   joinattachr   r   
add_headersmtplibSMTP_SSLr   r   loginr   sendmail	as_stringSMTPAuthenticationErrorSMTPExceptionstr	Exception)r   r   r   r   r   r   r   msgemailvalid_ccpartall_recipientsserveres                 r   
send_emailzEmailClass.send_email   s   #	E/C++CK&CI$C	N -/H"?%?H? IIh/D	 JJx01 &y5A 59OP\~]^7_`

4  --8N !!$"2"2DNNC TvT..0D0DE 1 1>3==?ST 2+ @"T 2.. 	~$$ 	:0Q99 	E;CF8DD	Esj   +D> D-D-BD> AD2$D> -D> 2D;7D> ;D> >FF%E82F8FFFF)N r8   Nzreporte.pdf)	__name__
__module____qualname__r.   r   r   r   bytesr7    r   r   r	   r	      s    S s S  #'%)),E,E T#Y,E 	,E
 ,E E?,E ,E 
,Er   r	   )r'   typingr   r   email.mime.multipartr   email.mime.textr   email.mime.applicationr   r	   r=   r   r   <module>rB      s      ! . $ 24E 4Er   