Servidor Backend (`procesar.php` que recibe la data)
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer/src/Exception.php';
require 'PHPMailer/src/PHPMailer.php';
require 'PHPMailer/src/SMTP.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$folio = htmlspecialchars($_POST['numero_formulario'] ?? '');
$nombres = htmlspecialchars($_POST['nombres'] ?? '');
$apellidos = htmlspecialchars($_POST['apellidos'] ?? '');
$email = filter_var($_POST['email'] ?? '', FILTER_SANITIZE_EMAIL);
$telefono = htmlspecialchars($_POST['telefono'] ?? '');
$fecha_nac = htmlspecialchars($_POST['fecha_nacimiento'] ?? '');
$nacionalidad = htmlspecialchars($_POST['nacionalidad'] ?? '');
$mail = new PHPMailer(true);
try {
$mail->isSMTP();
$mail->Host = 'mail.eurolatam.education';
$mail->SMTPAuth = true;
$mail->Username = 'fdonoso@eurolatam.education';
$mail->Password = 'TU_CONTRASEÑA_AQUÍ';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port = 465;
$mail->CharSet = 'UTF-8';
$mail->setFrom('fdonoso@eurolatam.education', 'Admisiones EuroLatam');
$mail->addAddress('fdonoso@eurolatam.education', 'Fernando Donoso');
$mail->addReplyTo($email, "$nombres $apellidos");
// Adjuntar archivos procesados desde el formulario
$documentos = [
'foto_carnet' => 'FotoCarnet_',
'doc_pasaporte' => 'Pasaporte_DNI_',
'doc_titulo' => 'TituloAcademico_',
'doc_acta' => 'ActadeGrado_'
];
foreach ($documentos as $keyInput => $prefixFile) {
if (isset($_FILES[$keyInput]) && $_FILES[$keyInput]['error'] === UPLOAD_ERR_OK) {
$ext = strtolower(pathinfo($_FILES[$keyInput]['name'], PATHINFO_EXTENSION));
$mail->addAttachment($_FILES[$keyInput]['tmp_name'], $prefixFile . $folio . '.' . $ext);
}
}
$mail->isHTML(true);
$mail->Subject = "SOLICITUD DE INSCRIPCIÓN: [$folio] - $nombres $apellidos";
$mail->Body = "Nueva solicitud recibida de $nombres $apellidos ($email) - Folio: $folio";
$mail->send();
echo "Inscripción recibida correctamente con Folio: $folio";
} catch (Exception $e) {
echo "Error al procesar: {$mail->ErrorInfo}";
}
}
?>