Carpeta helpers

This commit is contained in:
Axel Axt
2026-08-04 19:21:38 -03:00
parent 7f405c834b
commit 9ef9194f9e
6 changed files with 734 additions and 0 deletions
+86
View File
@@ -0,0 +1,86 @@
<?php
require_once __DIR__ . '/../helpers/crypto.php';
require_once __DIR__ . '/../libs/phpmailer/src/PHPMailer.php';
require_once __DIR__ . '/../libs/phpmailer/src/SMTP.php';
require_once __DIR__ . '/../libs/phpmailer/src/Exception.php';
require_once __DIR__ . '/../models/configuracionModel.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
function enviarCodigoRecuperacion($email, $codigo) {
$mail = new PHPMailer(true);
$configuracionmodel = new configuracionModel();
$datosConfig = $configuracionmodel->obtenerDatosEnvioMail();
if (isset($datosConfig['contrasenia_emisor'])) {
$datosConfig['contrasenia_emisor'] = decryptData($datosConfig['contrasenia_emisor']);
}
try {
// CONFIG SMTP
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = $datosConfig['email_emisor'];
$mail->Password = $datosConfig['contrasenia_emisor'];
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
// CODIFICACIÓN (evita problemas con tildes)
$mail->CharSet = 'UTF-8';
// REMITENTE
$mail->setFrom($datosConfig['email_emisor'], 'ByteCenter');
// DESTINATARIO
if (empty($email)) {
return false;
}
$mail->addAddress($email);
$mail->isHTML(true);
$mail->Subject = 'Recuperación de contraseña';
$mail->Body = "
<h3>Recuperación de contraseña</h3>
<p>Hemos recibido una solicitud para restablecer su contraseña.</p>
<p>Para continuar con el proceso, utilice el siguiente código de verificación:</p>
<h2 style='letter-spacing:2px;'>$codigo</h2>
<p>Este código es válido por un período de 10 minutos.</p>
<p>Si usted no realizó esta solicitud, puede ignorar este mensaje de forma segura.</p>
<br>
<p>Atentamente,<br>
Equipo de ByteCenter</p>
";
$mail->send();
return true;
} catch (Exception $e) {
// Log interno
error_log($e->getMessage());
return false;
}
}