Documentación Técnica — SmartSMTP for Moodle
Documentación Técnica

SmartSMTP for Moodle

Guía completa de instalación, configuración y solución de problemas para administradores.

Versión 1.0.0 Moodle 4.5, 5.0, 5.1, 5.2

Introducción

SmartSMTP es un plugin para Moodle que permite configurar múltiples cuentas SMTP y enrutar las notificaciones del sistema a diferentes servidores de correo según el tipo de actividad. Esto evita que proveedores como Gmail o Yahoo bloqueen la cuenta por exceso de envíos.

El plugin se compone de dos componentes que trabajan juntos:

  • local_smartsmtp — Panel de administración, gestión de cuentas, reglas de enrutamiento, logs y licencia.
  • message_smartsmtp — Procesador de mensajes que intercepta las notificaciones de Moodle y las enruta al buzón correcto.
Plan gratuito vs. Premium El plan gratuito incluye hasta 2 cuentas SMTP y 2 reglas de enrutamiento. El plan premium desbloquea cuentas y reglas ilimitadas, enrutamiento por nombre de notificación y balanceo de carga round-robin.

Requisitos

ComponenteVersión mínima
Moodle4.5 - 5.2
Extensión PHP OpenSSLRequerida para validación de licencia
Importante El servidor debe tener habilitada la extensión openssl de PHP. Puedes verificarlo en Administración del sitio → Información del servidor → Información de PHP.

Instalación

Descarga

El plugin se distribuye en dos versiones:

Pasos de instalación

  1. Descarga el paquete ZIP del plugin.
  2. Extrae la carpeta local/smartsmtp/ dentro de la carpeta local/ en la raíz de tu Moodle.
  3. Extrae la carpeta message/output/smartsmtp/ dentro de message/output/ en la raíz de tu Moodle.
  4. Inicia sesión como administrador en Moodle.
  5. Ve a Administración del sitio → Notificaciones.
  6. Moodle detectará los plugins nuevos y mostrará la pantalla de instalación. Confirma la instalación.

Activar el procesador de mensajes

  1. Ve a Administración del sitio → Mensajería → Procesadores de mensajes.
  2. Localiza SmartSMTP en la lista.
  3. Activa el procesador haciendo clic en el ícono de visibilidad.
Verificación Una vez instalado, el menú de administración mostrará Administración del sitio → Plugins → Plugins locales → SmartSMTP Manager.

Cuentas SMTP

Las cuentas SMTP son los buzones de correo que SmartSMTP utilizará para enviar notificaciones. Puedes registrar hasta 2 cuentas en el plan gratuito o cuentas ilimitadas en el plan premium.

Agregar una cuenta

  1. Ve a Administración del sitio → Plugins → Plugins locales → SmartSMTP Manager → Cuentas.
  2. Haz clic en Agregar cuenta.
  3. Completa los campos del formulario.
  4. Guarda y prueba la conexión.

Campos del formulario

CampoDescripción
NombreNombre identificador de la cuenta. Solo visible en el panel de administración.
Servidor SMTPDirección del servidor de correo. Ejemplo: smtp.gmail.com
PuertoPuerto de conexión. Ver tabla de proveedores más abajo.
Seguridadtls (recomendado), ssl o ninguno.
Usuario SMTPCorreo electrónico completo usado para autenticación.
ContraseñaContraseña o App Password del proveedor.
Límite diarioNúmero máximo de correos por día. Usa 0 para sin límite.
Correo noreplyDirección que aparece en el campo "De:" de los correos enviados.
Nombre del remitenteNombre visible junto al correo noreply.
PredeterminadoEsta cuenta se usa cuando ninguna regla aplica al mensaje.
Cuenta predeterminada Solo puede haber una cuenta predeterminada activa. Esta cuenta también se usa para los correos del sistema como recuperación de contraseña y registro de usuarios nuevos.

Probar una cuenta

Desde la lista de cuentas, haz clic en Probar junto a la cuenta que deseas verificar. Ingresa una dirección de correo de destino y el plugin enviará un mensaje de prueba. El resultado mostrará si la conexión fue exitosa o el error específico.

Reglas de enrutamiento

Las reglas determinan qué cuenta SMTP se usa para cada tipo de notificación de Moodle. Puedes configurar hasta 2 reglas en el plan gratuito.

Crear una regla

  1. Ve a SmartSMTP Manager → Reglas.
  2. Selecciona el componente de Moodle (por ejemplo mod_forum).
  3. Selecciona la cuenta SMTP que se usará para ese componente.
  4. Asigna una prioridad. Las reglas con mayor prioridad se evalúan primero.
  5. Guarda la regla.

Lógica de selección de cuenta

Cuando Moodle necesita enviar una notificación, SmartSMTP evalúa las reglas en el siguiente orden:

  1. Busca reglas que coincidan con el componente del mensaje, ordenadas por prioridad de mayor a menor.
  2. Para cada regla encontrada, verifica si la cuenta asignada tiene capacidad disponible (no ha alcanzado su límite diario).
  3. Usa la primera cuenta con capacidad disponible.
  4. Si ninguna regla tiene capacidad, usa la cuenta predeterminada.
  5. Si la cuenta predeterminada tampoco tiene capacidad, el envío falla y Moodle reintenta la tarea.

Componentes comunes de Moodle

ComponenteTipo de notificaciones PremiumDescripción
mod_forumposts, digestsPublicaciones suscritas en foros y resúmenes diarios
mod_assignassign_notification, assign_due_soon, assign_overdueNotificaciones de entregas, tareas próximas a vencer y vencidas
mod_quizsubmission, confirmationNotificación al docente de intentos enviados y confirmación al alumno
mod_workshopsubmission, assessmentEntregas y evaluaciones entre pares en talleres
mod_lessongraded_essayNotificación de ensayo calificado en una lección
mod_feedbacksubmissionEnvío de formularios de retroalimentación
mod_datanewentryNueva entrada en una base de datos
mod_glossaryadd_entry_notificationNueva entrada agregada a un glosario
mod_chatmessagesMensajes en sala de chat
mod_choicestudentchoiceaddedUn alumno realizó una elección
mod_scormlaunchInicio de un paquete SCORM
core_badgesbadgerecipientnotice, badgecreatornoticeInsignias otorgadas al alumno y notificación al creador
enrolexpiry_notificationAviso de vencimiento de inscripción a curso
enrol_selfenrolment_expiryVencimiento de inscripción por autoinscripción
core_calendareventreminderRecordatorio de eventos del calendario
moodleinstantmessage, emailconfirmation, passwordchangeconfirmationMensajes instantáneos, confirmación de cuenta y cambio de contraseña
core_courseactivity_modulesNotificaciones de módulos de actividades del curso
Plan Premium — Round-Robin Con el plan premium puedes activar balanceo de carga round-robin en una regla. Esto distribuye los envíos de forma rotatoria entre todas las cuentas asignadas al mismo componente, maximizando el uso de los límites de cada proveedor.

Licencia premium

Activar la licencia

  1. Adquiere tu licencia en raxelion.com/smartsmtp/premium.
  2. Recibirás una clave de licencia por correo electrónico.
  3. Ve a SmartSMTP Manager → Licencia.
  4. Pega la clave en el campo correspondiente y haz clic en Activar.

Detalles de la licencia

  • La licencia es válida por 1 año a partir de la fecha de compra.
  • La licencia está vinculada al dominio del sitio. No puede usarse en otro dominio sin adquirir una licencia adicional.
  • La validación es completamente local — el plugin no hace llamadas externas para verificar la licencia.
  • 30 días antes del vencimiento, el panel mostrará un aviso con los días restantes.

Vencimiento de la licencia

Cuando la licencia vence, el plugin degrada automáticamente al plan gratuito:

  • Los correos continúan enviándose sin interrupción.
  • No se pueden agregar nuevas cuentas si ya tienes más de 2 registradas.
  • Si tienes más de 2 cuentas, la edición queda bloqueada hasta reducir a 2 o menos, o renovar la licencia.
  • El round-robin se desactiva.
Renovación Para renovar tu licencia visita raxelion.com/smartsmtp/premium o contacta a contacto@raxelion.com.

Registros de envío

SmartSMTP registra todos los envíos en SmartSMTP Manager → Registros. Puedes filtrar por cuenta y estado.

CampoDescripción
FechaFecha y hora del envío.
CuentaBuzón SMTP utilizado.
DestinatarioCorreo electrónico del destinatario.
AsuntoAsunto del mensaje enviado.
EstadoEnviado — éxito. Fallido — error en el envío.

Los contadores diarios por cuenta se reinician automáticamente cada día a medianoche mediante una tarea programada. También puedes ver el consumo actual en la lista de cuentas (X / Y correos hoy).

Configuración por proveedor

Gmail

CampoValor
Servidor SMTPsmtp.gmail.com
Puerto587
Seguridadtls
UsuarioTu correo Gmail completo
ContraseñaApp Password (no tu contraseña normal)
App Password en Gmail Gmail requiere una contraseña de aplicación si tienes verificación en 2 pasos activa. Genérala en Cuenta de Google → Seguridad → Contraseñas de aplicaciones. El límite de envío de Gmail es de 500 correos/día para cuentas gratuitas.

Outlook / Microsoft 365

CampoValor
Servidor SMTPsmtp.office365.com
Puerto587
Seguridadtls
UsuarioTu correo Outlook completo
ContraseñaContraseña de tu cuenta o App Password

Yahoo Mail

CampoValor
Servidor SMTPsmtp.mail.yahoo.com
Puerto465
Seguridadssl
UsuarioTu correo Yahoo completo
ContraseñaApp Password de Yahoo

Servidor SMTP propio

CampoValor
Servidor SMTPTu dominio o IP del servidor
Puerto587 (TLS) o 465 (SSL)
Seguridadtls o ssl según tu servidor
Límite diario0 (sin límite) si controlas el servidor

Solución de problemas

Los correos no se envían

  1. Verifica que el procesador SmartSMTP está activado en Administración del sitio → Mensajería → Procesadores de mensajes.
  2. Verifica que tienes al menos una cuenta SMTP configurada y marcada como predeterminada.
  3. Usa Probar cuenta para verificar que las credenciales son correctas.
  4. Revisa los registros en SmartSMTP Manager → Registros para ver si hay errores.
  5. Verifica que el cron de Moodle está ejecutándose correctamente.

Error de autenticación SMTP

Si el error menciona autenticación o credenciales incorrectas:

  • Gmail: Verifica que estás usando una App Password, no tu contraseña normal.
  • Yahoo: Genera una App Password desde la configuración de seguridad de tu cuenta Yahoo.
  • Outlook: Verifica que el acceso SMTP está habilitado en la configuración de tu cuenta.

Los correos van solo por la cuenta predeterminada

Verifica que:

  • Las reglas de enrutamiento están configuradas correctamente en SmartSMTP Manager → Reglas.
  • El componente en la regla coincide exactamente con el componente del mensaje (por ejemplo mod_forum).
  • La cuenta asignada en la regla no ha alcanzado su límite diario.

Los contadores diarios no se reinician

Los contadores se reinician mediante una tarea programada del cron. Verifica que el cron de Moodle está configurado y ejecutándose. Puedes reiniciar manualmente los contadores eliminando los registros de la tabla mdl_smartsmtp_daily_counts.

Error "sin buzón disponible"

Este error indica que todas las cuentas configuradas han alcanzado su límite diario. Soluciones:

  • Aumenta el límite diario de alguna cuenta.
  • Agrega más cuentas SMTP (requiere plan premium si ya tienes 2).
  • Espera a que los contadores se reinicien al día siguiente.

Soporte

Si tienes dudas o problemas que no están cubiertos en esta documentación, contáctanos:

Soporte prioritario Los clientes con licencia premium reciben atención prioritaria por correo electrónico.
Scroll al inicio