
    ۾hQ                         d dl Z d dlmZ d dl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 ej                  j                  d       d dlmZ d dlmZ 	 d Z e       Zd	Zd
ZdZdZdZdZdZd Zy)    N)datetime)MIMEMultipart)MIMETextz/var/www/html/config)get_connection)load_dotenvc                  J   t         j                  j                  t         j                  j                  t                    } t         j                  j                  |       }t         j                  j                  |dd      }t        |       g d}i }|D ]P  }t        j                  |      }||j                         dk(  rt        d| d|       |j                         ||<   R 	 t        |d         |d<   t        d
       |S # t        $ r t        d|d    d	      w xY w)Nconfiguracionesz.env)	SMTP_HOST	SMTP_PORT	SMTP_USER	SMTP_PASSAPP_URLAPP_NAMESMTP_NOTIFY u#   ❌ ERROR: La variable de entorno 'u&   ' no está definida o está vacía en r   u   ❌ ERROR: SMTP_PORT ('u&   ') debe ser un número entero válido.u.   ✅ Configuración SMTP cargada correctamente.)ospathdirnameabspath__file__joinr   getenvstrip
ValueErrorintprint)
script_dircrm_direnv_pathrequired_varsconfigvarvalues          O/var/www/dev.api.imparables.com.co/api_imparables/crm/administracion/mailing.pycargar_configuracion_smtpr%   %   s    
!J ggooj)Gww||G%6?H M F $		#=EKKMR/5cU:`ai`jk  kkms$
!&"56{ 

:;M  
%f[&9%::`a
 	

s   (D D"zsmtp.office365.comiK  z&notificacionelectronica@mascredimas.uszdSU#oH+z$%RTakz(https://dev.crm.imparables.cic-ware.com/
Imparablesu   Notificaciones Electrónicasc                    	 d;dt         dt        dt         fd}t        dt        | j	                                      | j                  d      xs dj                         }| j                  d      xs	 d	t         j                         }| j                  d
      xs d}t        d |             t        d|       t        dt        |             t        dt        dt        d |t                     t        dt               dt         dt        fd} ||      r|}n$ddlm} d ||      j#                  dd      z   dz   }t%        d      }t         dt         d|d<   ||d<   ||d<   d| d t         d!| d"| d#t         d$}	t'        |	d%      }
|j)                  |
       	 t        d&       t+        j,                         }t/        j0                  t        t              5 }|j3                          t        d'       |j5                  |(       |j3                          t        d) |t                     |j7                  t        t8               t        d*       |j;                  t        ||j=                                t        d+       d d d        d,d-d.S # t
        $ r Y ew xY w# 1 sw Y   xY w# t.        j>                  $ r{}	 tA        |d/d       }tA        |d0d1      jC                  d23      }n# t
        $ r d t        |      }}Y nw xY wt        d4| d5|        d6d7| d8|xs t        |       d.cY d }~S d }~wt
        $ r0}t        d9tE        |             d6d:t        |       d.cY d }~S d }~ww xY w)<Nsvisiblereturnc                 x    | syt        |       |dz  k  rt        |       dkD  r| d   dz   S | S | d | dz   | | d  z   S )Nr         r   u   …)len)r(   r)   s     r$   _maskzsendEmail.<locals>._maskj   sS    1v1$'*1vzqte|8q8Xg;&G8955    z#[DEBUG][sendEmail] input_data keys:destinatarior   asuntou   Notificación cuerpo_correoz [DEBUG][sendEmail] destinatario:z[DEBUG][sendEmail] asunto:z%[DEBUG][sendEmail] cuerpo_correo.len:z[DEBUG][sendEmail] SMTP host:zport:zuser:z[DEBUG][sendEmail] senderName:c                     d| v xr d| v S )N<> )r(   s    r$   _parece_htmlzsendEmail.<locals>._parece_html   s    ax$C1H$r0   r   )escapez<p>
z<br>z</p>alternativez <r6   FromToSubjectz
    <!DOCTYPE html>
    <html lang="es">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>a  </title>
        <style>
            body {
                font-family: Arial, sans-serif;
            }
            .container {
                max-width: 600px;
                margin: 0 auto;
                padding: 20px;
                border: 1px solid #e0e0e0;
                border-radius: 5px;
            }
            .header {
                text-align: center;
                margin-bottom: 20px;
            }
            .footer {
                text-align: center;
                margin-top: 20px;
                color: #666;
                font-size: 12px;
            }
            a { color: #0b57d0; text-decoration: none; }
        </style>
    </head>
    <body>
        <div class="container">
            <div class="header">
                <h1>z</h1>
                <p>zK</p>
            </div>

            <div class="content">
                uU   
            </div>

            <div class="footer">
                <p>🖥 Equipo zC</p>
            </div>
        </div>
    </body>
    </html>
    htmlu-   [DEBUG][sendEmail] Abriendo conexión SMTP…u   [DEBUG][sendEmail] STARTTLS…)contextz)[DEBUG][sendEmail] Intentando login como:u0   [DEBUG][sendEmail] Login OK. Enviando mensaje…z#[DEBUG][sendEmail] Mensaje enviado.Tu5   El correo electrónico ha sido enviado correctamente.)successmessage	smtp_code
smtp_errorr0   ignore)errorsz0[DEBUG][sendEmail] SMTPAuthenticationError code=z error=Fu-   Error en el envío del correo electrónico: (z) z[DEBUG][sendEmail] Exception:u,   Error en el envío del correo electrónico: )   )#strr   r   listkeys	Exceptiongetr   appNamer.   hostnameportusername
senderNameboolr?   r9   replacer   r   attachsslcreate_default_contextsmtplibSMTPehlostarttlsloginpasswordsendmail	as_stringSMTPAuthenticationErrorgetattrdecoderepr)
input_datar/   r1   r2   cuerpor8   cuerpo_htmlr9   rB   	html_bodypartr@   serverecodeerrs                   r$   	sendEmailrl   d   sp   	6S 	63 	6s 	6 	3T*//:K5LM NN>28b??ALnnX&DN7)*DKKMF^^O,2F	
,eL.AB	
&/	
13v;?	'h 

*J7
% % % FfVn44T6BBVK M*G#Bxj2GFO GDMGI x 8 I 8     !(y )W0Id Iv&DNN4'
=>,,.\\(D) 	9VKKM23OOGO,KKM=uXO LL8,DEOOHlG4E4E4GH78	9 N
 	
[  @	9 	9$ ** 
	%1k40D!\3/66h6GC 	%c!f#D	%@gcUSTFtfBs}VYZ[V\o^
 	

  
-tAw7Ec!fXN
 	

sx   :J "=J1 B)J%J1 	J"!J"%J.*J1 1M6*K0/L:0L	L:L		+L:4M6:M6%M1+M61M6)jsonr   hashlibsysr   base64rW   rU   email.mime.multipartr   email.mime.textr   r   appendcnxpdor   dotenvr   r%   smtp_configrN   rO   rP   r\   appUrlrM   rQ   rl   r7   r0   r$   <module>rx      s~       
 	   
 . $ & ' ! 
*")Z ()  
 4 
4
+
R
r0   