<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/PHPMailer/src/Exception.php';
require 'vendor/PHPMailer/src/PHPMailer.php';
require 'vendor/PHPMailer/src/SMTP.php';

function enviarNotificacionTicket($destinatario, $asunto_ticket, $cuerpo_mensaje, $id_ticket) {
    $mail = new PHPMailer(true);

    try {
        // Configuración del Servidor SMTP
        $mail->isSMTP();
        $mail->Host       = 'smtp.gmail.com';
        $mail->SMTPAuth   = true;
        // Tu correo institucional o personal de Google
        $mail->Username   = 'j122010.zoel@gmail.com'; 
        // El código de 16 caracteres de "Contraseña de aplicaciones"
        $mail->Password   = 'spyw uaqs hwqz sjue'; 
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
        $mail->Port       = 465;
        $mail->CharSet    = 'UTF-8';

        // Destinatarios
        $mail->setFrom('soporte.tic@comil12.edu.ec', 'Soporte TIC - UE Giovanni Calles');
        $mail->addAddress($destinatario);

        // Contenido del Correo
        $mail->isHTML(true);
        // Mantenemos el mismo asunto incluyendo el ID del ticket para el hilo
        $mail->Subject = "Ticket #$id_ticket: $asunto_ticket";
        
        $mail->Body = "
            <div style='font-family: sans-serif; padding: 20px; border: 1px solid #eee;'>
                <h2 style='color: #1e293b;'>Actualización de Ticket #$id_ticket</h2>
                <p style='color: #475569;'>$cuerpo_mensaje</p>
                <hr style='border: 0; border-top: 1px solid #eee;'>
                <small style='color: #94a3b8;'>Sistema de Gestión TIC - Unidad Educativa Giovanni Calles</small>
            </div>
        ";
        
        $mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

        $mail->send();
        return true;
    } catch (Exception $e) {
        
        echo $e;
        error_log("Error al enviar correo: {$mail->ErrorInfo}");
        return false;
    }
}