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

// Incluir PHPMailer desde la carpeta actual /src
require_once __DIR__ . '/src/Exception.php';
require_once __DIR__ . '/src/PHPMailer.php';
require_once __DIR__ . '/src/SMTP.php';
require_once __DIR__ . '/mail_environment.php';

function enviarCorreoPrealta($destinatario, $reclutador, $nombreAspirante, $curp, $rfc) {
    $mail = new PHPMailer(true);

    try {
        $mail->CharSet = 'UTF-8';
        $mail->Encoding = 'base64';

        // 🔍 Depuración activada y log en error_log
        $mail->SMTPDebug = 2;
        $mail->Debugoutput = function($str, $level) {
            error_log("SMTP DEBUG ($level): $str");
        };

        // Configuración SMTP
        $mail->isSMTP();
        $mail->Host       = 'mail.rocasamexico.com';
        $mail->SMTPAuth   = true;
        $mail->Username   = 'informatica@rocasamexico.com';
        $mail->Password   = '&jSr_agd~CR_';
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
        $mail->Port       = 465;

        // Remitente y destinatarios
        $mail->setFrom('informatica@rocasamexico.com', 'Sistema de Altas');
        foreach (explode(',', $destinatario) as $correo) {
            $mail->addAddress(trim($correo));
        }

        // Contenido
        $mail->isHTML(true);
        $mail->Subject = "📩 Solicitud de Pre-Alta: $nombreAspirante";
        $mail->Body = "
            <h3>Solicitud de Pre-Alta</h3>
            <p>El usuario <strong>$reclutador</strong> ha solicitado la prealta del colaborador:</p>
            <ul>
                <li><strong>Nombre:</strong> $nombreAspirante</li>
                <li><strong>CURP:</strong> $curp</li>
                <li><strong>RFC:</strong> $rfc</li>
            </ul>
            <p>Por favor, ingresa a <strong>IntraRoca</strong> para validar la información.</p>
        ";

        aplicarModoDesarrolloMail($mail);
        $mail->send();
        return ['status' => 'success', 'message' => 'Correo enviado correctamente.'];

    } catch (Exception $e) {
        error_log("📧 ERROR al enviar correo: " . $mail->ErrorInfo);
        return ['status' => 'error', 'message' => 'Error al enviar correo: ' . $mail->ErrorInfo];
    }
}
