# Registro seguro de correo docente — U.E.N. Alberto Smith

## Objetivo

Permite crear cuentas institucionales exclusivamente para profesores previamente autorizados por su número de cédula. La cédula no se guarda en texto claro: se transforma mediante HMAC. El correo personal y el secreto TOTP se almacenan cifrados con AES-256-GCM.

## Requisitos

- PHP 8.1 o superior.
- PDO MySQL/MariaDB o PDO SQLite.
- Extensiones OpenSSL y cURL.
- HTTPS activo.
- Función `mail()` operativa para enviar el código OTP.
- Cuenta cPanel con permiso para crear buzones y un API Token.

## Instalación

1. Suba todo el portal a `public_html`.
2. En cPanel, puede crear una base MySQL/MariaDB y asignar un usuario con todos los privilegios. También puede usar SQLite si su PHP lo tiene habilitado.
3. Abra `https://uenalbertosmith.com/correo-docente/install.php`.
4. Cree el administrador, seleccione la base de datos y configure dominio, Webmail y remitente OTP.
5. Para alta automática, indique el host seguro de cPanel, usuario y API Token.
6. Elimine o renombre `install.php` después de instalar.
7. Entre a `correo-docente/admin.php` y cargue los docentes individualmente o mediante CSV.

## cPanel

La integración usa UAPI `Email/add_pop`. El token se guarda en `storage/config.php`, carpeta protegida por `.htaccess`. Para mayor aislamiento, puede definir las credenciales como variables de entorno y adaptar `lib.php`.

No publique ni comparta el token. Cree un token exclusivo para este módulo y revóquelo si sospecha exposición.

## Flujo docente

1. Cédula preautorizada + correo personal coincidente.
2. OTP de seis dígitos enviado al correo personal.
3. Activación TOTP en una aplicación autenticadora.
4. Elección de usuario y contraseña robusta.
5. Creación del buzón en cPanel.
6. Acceso a `https://uenalbertosmith.com:2096/`.

## Importación CSV

Columnas obligatorias:

`cedula,nombre,correo_personal,telefono`

La cédula solo se utiliza durante la importación para calcular su huella criptográfica.

## Alcance del 2FA

El doble factor protege el registro y la activación del buzón. La autenticación adicional dentro del Webmail depende de las funciones y políticas habilitadas por el proveedor cPanel.
