
    q[hY4                        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 d dlmZ d dl	Z	d dl
mZ e j                  j                  d       ej                  j                  ej                  j                  e            Zej                  j                  e      Zej                  j'                  edd      Zej                  j+                  e      r ee        e	j,                  d	e        n e	j.                  d
e        	  ej0                  d      Z ej0                  d      Z ej0                  d      Z ej0                  d      Z ej0                  d      Zd Zy)    N)MIMEMultipart)MIMEText)datetime)load_dotenvz/var/www/html/configconfiguracionesz.envu)   ✅ Variables de entorno cargadas desde: u(   ⚠ No se encontró el archivo .env en: 	SMTP_HOST	SMTP_PORT
ACCESS_KEY	SMTP_PASS	SMTP_USERc                    	 | j                  dd      }| j                  d      }| j                  dd      }|sdddS d	|vsd
|vrdddS t        d       t        dt                t        dt                t        dt                t        dt
                t        d|        t        d      }t
        |d<   ||d<   d|d<   d| d| dt
         dt
         dt
         d}t        |d      }|j                  |       	 t        d       t        j                         }t        j                  t        t        d       5 }t        d!       |j                          t        d"       |j                  |#       t        d$       |j                          t        d%       |j                  t        t                t        d&       |j#                  t
        ||j%                                t        d'|        d(d(d(       d3d4| d5|t5        j6                         j9                  d6      |d7t        d(d8 d9z   d:d;S # 1 sw Y   DxY w# t        j&                  $ r7}	t        d)|	        dd*|	j(                   d+|	j*                   dcY d(}	~	S d(}	~	wt        j,                  $ r!}	t        d,|	        dd-| d.dcY d(}	~	S d(}	~	wt        j.                  $ r}	t        d/|	        dd0dcY d(}	~	S d(}	~	wt0        $ r)}	t        d1|	        dd2t3        |	       dcY d(}	~	S d(}	~	ww xY w# t0        $ r)}	t        d1|	        dd<t3        |	       dcY d(}	~	S d(}	~	ww xY w)=uN   
    Envía correo electrónico usando AWS SES con credenciales correctas
    nombre_completo_referido	Ciudadanocorreo_referidonombre_embajadorzEquipo ImparablesFu3   No se proporcionó correo electrónico del contacto)successmessage@.u0   El formato del correo electrónico no es válidou$   === AWS SES CONFIGURACIÓN FINAL ===z
Servidor: zPuerto: zAccess Key: zSender: zDestinatario: alternativeFromTou;   Seguimiento - Campaña de Recolección de Firmas ImparablesSubjectu  
        <!DOCTYPE html>
        <html lang="es">
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>Seguimiento Primer Contacto</title>
            <style>
                body {
                    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
                    background-color: #f8f9fa;
                    margin: 0;
                    padding: 20px;
                }
                .container {
                    max-width: 600px;
                    margin: 0 auto;
                    background-color: #ffffff;
                    border-radius: 12px;
                    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
                    overflow: hidden;
                }
                .header {
                    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                    color: white;
                    padding: 30px 20px;
                    text-align: center;
                }
                .header h1 {
                    margin: 0;
                    font-size: 28px;
                    font-weight: 300;
                }
                .header p {
                    margin: 5px 0 0 0;
                    opacity: 0.9;
                    font-size: 16px;
                }
                .content {
                    padding: 30px;
                }
                .greeting {
                    font-size: 18px;
                    color: #333;
                    margin-bottom: 20px;
                }
                .highlight-box {
                    background-color: #f8f9fa;
                    border-left: 4px solid #667eea;
                    padding: 20px;
                    margin: 20px 0;
                    border-radius: 0 8px 8px 0;
                }
                .detail-item {
                    margin: 10px 0;
                    font-size: 16px;
                    color: #555;
                }
                .detail-label {
                    font-weight: 600;
                    color: #333;
                }
                .cta-section {
                    text-align: center;
                    margin: 30px 0;
                    padding: 20px;
                    background-color: #f8f9fa;
                    border-radius: 8px;
                }
                .cta-button {
                    display: inline-block;
                    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                    color: white;
                    padding: 12px 30px;
                    text-decoration: none;
                    border-radius: 25px;
                    font-weight: 600;
                    margin: 10px;
                    transition: transform 0.2s;
                }
                .cta-button:hover {
                    transform: translateY(-2px);
                }
                .footer {
                    background-color: #333;
                    color: #ccc;
                    padding: 20px;
                    text-align: center;
                    font-size: 14px;
                }
                .footer a {
                    color: #667eea;
                    text-decoration: none;
                }
            </style>
        </head>
        <body>
            <div class="container">
                <!-- Cabecera -->
                <div class="header">
                    <h1>🇨🇴 Imparables</h1>
                    <p>Campaña de Recolección de Firmas</p>
                </div>

                <!-- Contenido principal -->
                <div class="content">
                    <div class="greeting">
                        ¡Hola <strong style="color: #667eea;">u  </strong>!
                    </div>

                    <p style="font-size: 16px; line-height: 1.6; color: #555;">
                        Esperamos que te encuentres muy bien. Queremos agradecerte por el tiempo que nos dedicaste 
                        durante nuestra conversación sobre la campaña de recolección de firmas.
                    </p>

                    <!-- Información del embajador -->
                    <div class="highlight-box">
                        <h3 style="margin-top: 0; color: #333;">👋 Tu contacto en Imparables:</h3>
                        <div class="detail-item">
                            <span class="detail-label">Embajador que te contactó:</span> u  
                        </div>
                    </div>

                    <p style="font-size: 16px; line-height: 1.6; color: #555;">
                        Como ciudadanos comprometidos con el cambio, sabemos que tu participación es fundamental 
                        para lograr los objetivos que nos hemos propuesto como movimiento.
                    </p>

                    <!-- Llamada a la acción -->
                    <div class="cta-section">
                        <h3 style="color: #333; margin-bottom: 15px;">¿Listo para participar?</h3>
                        <p style="margin-bottom: 20px; color: #666;">
                            Si tienes alguna pregunta o quieres conocer más detalles sobre cómo participar:
                        </p>
                        <a href="https://wa.me/573001234567?text=Hola,%20quiero%20información%20sobre%20la%20campaña" 
                           class="cta-button">💬 Escribir por WhatsApp</a>
                        <a href="mailto:uL  ?subject=Consulta%20sobre%20campaña" 
                           class="cta-button">📧 Enviar correo</a>
                    </div>

                    <p style="font-size: 16px; line-height: 1.6; color: #555;">
                        Recuerda que cada firma cuenta y que juntos podemos lograr el cambio que Colombia necesita.
                    </p>

                    <p style="font-size: 16px; line-height: 1.6; color: #555; margin-bottom: 30px;">
                        ¡Gracias por ser parte de este movimiento ciudadano!
                    </p>

                    <div style="border-top: 1px solid #eee; padding-top: 20px; text-align: center;">
                        <p style="font-style: italic; color: #888;">
                            "El cambio que Colombia necesita comienza con ciudadanos como tú"
                        </p>
                    </div>
                </div>

                <!-- Pie de página -->
                <div class="footer">
                    <p><strong>🇨🇴 Imparables - Movimiento Ciudadano</strong></p>
                    <p>📧 u&   | 🌐 <a href="https://imparables.com.co">www.imparables.com.co</a></p>
                    <p style="font-size: 12px; margin-top: 15px; opacity: 0.8;">
                        Este es un mensaje automático. Si no deseas recibir más comunicaciones, 
                        <a href="mailto:u   ?subject=Desuscribir">haz clic aquí</a>.
                    </p>
                </div>
            </div>
        </body>
        </html>
        htmlu   🚀 Conectando a AWS SES...   )timeoutu   ✅ Conexión establecidau   ✅ EHLO enviado)contextu   ✅ STARTTLS activadou   ✅ EHLO después de STARTTLSu   ✅ Login exitoso en AWS SESu"   ✅ Correo enviado exitosamente a Nu   ❌ Error de autenticación: u!   Error de autenticación AWS SES: z - u   ❌ Destinatario rechazado: zDestinatario rechazado: uR   . Verifica que esté en la lista de correos verificados si estás en modo sandbox.u   ❌ Servidor desconectado: uC   Error de conexión: El servidor SMTP se desconectó inesperadamenteu   ❌ Error general: u   Error de conexión AWS SES: TzCorreo enviado exitosamente a u    vía AWS SESz%Y-%m-%d %H:%M:%SzAWS SES us-east-2
   z...)destinatariofecha_envio	embajadorservidoraccess_key_usado)r   r   datazError general: )getprintsmtp_server	smtp_port	smtp_usersender_emailr   r   attachsslcreate_default_contextsmtplibSMTPehlostarttlsloginsmtp_passwordsendmail	as_stringSMTPAuthenticationError	smtp_code
smtp_errorSMTPRecipientsRefusedSMTPServerDisconnected	Exceptionstrr   nowstrftime)
datos_contactonombre_referidor   r   r   	html_bodypartr   serveres
             c/var/www/dev.api.imparables.com.co/api_imparables/crm_asincrono/procesos/malling_primer_contacto.pysend_email_primer_contactorF   7   s   
K
(,,-GU(,,->?)--.@BUV $1fggo%O)C$1cdd 	46
;-()$%YK()'(/01  .&'Z	k@V AP?P Q[ \lZl m)" *6 7, *N +) *6 7	Cg	R 	6*t,	01002Gk9bA NV12()0-.56Y645ow?P?P?RS:?:KLMNV 77HV /'||~667JK-/$-crNU$:

 
	
UN N" .. 	1!56 >q{{m3q||n]  ,, 	045 5o5F  GY  Z  -- 	/s34 `   	's+, 9#a&B 	&  
#A3'((Q1
 	

s   ;L( L( B:L( ?I B7H?<I :L( ?II L%,J
L%L( L%&K<L%=L( L%K0*L%+L( 0L%<L L%L(  L%%L( (	M1MMM)sysosr.   r,   email.mime.multipartr   email.mime.textr   r   loggingdotenvr   pathappenddirnameabspath__file__
script_dircrm_dirjoinenv_pathexistsinfowarninggetenvr'   r(   r)   r3   r*   rF        rE   <module>r\      s'  
  	  
 . $    & ' WW__RWW__X67
 ''//*
% 77<<!2F; 77>>(GLL<XJGHGOO>xjIJL bii$BIIk"	BIIl#			+&ryy%P
r[   