Solo para inaugurar el grupo, un video con un ejemplo básico aplicado, más si conoces algo de PHP y Moodle, sobre el uso de Mustache:
Imagen anterior: Captura desde el video recomendado.
How to use a MUSTACHE template in a MOODLE Block - Especially for PHP DEVELOPERS, en el canal de Ricoshae, un canal con contenido variado sobre desarrollo web.
¿Lo conversamos?
Saludos y bonita jornada.
Plácido.
Tengo Moodle configurado correctamente, pero plataformas de correo como Gmail rechazan sus correos
Cuando envío emails desde una instalación activa de Moodle, el correo se envía correctamente*, pero plataformas como Gmail los rechazan, en lugar de recibirlos. ¿Dónde se produce este problema? ¿Cuál sería su solución?
* Nota: Los correos enviados a otras plataformas más permisivas son recibidos sin problemas.
El problema puede deberse a distintos factores que analizaremos a continuación:
Registros SPF, DKIM y DMARK
Para que los envíos desde un dominio específico sean considerados confiables para otros servidores de correo, debemos tener configurados, correctamente, los registros SPF [1][2][3], DKIM, y DMARC [5][6][7], los correos pueden ser marcados como no confiables o incluso rechazados por Gmail
- SPF (Sender Policy Framework) es un registro DNS que especifica qué servidores están autorizados a enviar correos en nombre de tu dominio.
- DKIM (DomainKeys Identified Mail) es una forma de verificar que el correo no ha sido alterado durante el envío.
- DMARC (Domain-based Message Authentication, Reporting, and Conformance) permite establecer una política de autenticación para los correos.
Capturas de pantalla con las opciones de configuración automática, aunque no siempre suficientes, desde el cPanel de un hosting web genérico con problemas de configuración en los registros DKIM y :
¿Cómo verifico este tipos de problemas?
Revisa los logs de tu servidor de correo, los estados de estos servicios desde cPanel, o consulta con u proveedor de hosting, en caso de que no tengas acceso a la terminal, o en su defecto, a un panel de control desde tu cuenta de administración.
Nota importante
Si bien la consulta surge por fallos desde una instalación de Moodle, este tipo de soluciones están relacionadas con la configuración del servidor de correos, por lo que va más allá de dicha plataforma, y la solución recomendada afecta a todas las instalaciones y servicios que utilicen envíos de emails desde tu servidor.
Enlaces relacionados
- Google | Acerca de los registros
- SiteGround | ¿Qué es un registro SPF y cómo configurarlo?
- Wikipedia | Sender Policy Framework
- Wikipedia | DomainKeys Identified Mail (DKIM)
- MailJet | Qué es DMARC y cómo implementarlo: Una guía detallada
- Wikipedia | DMARC
Sigamos aprendiendo, ¡con fundamentos!
Saludos y bonita jornada para ti.
Plácido Luna.
#SPF #DKIM #DMARC #servidorDeEmail #emails #erroresEnMoodle #Moodle #configuraciónServidorDeEmail
- 247
¿Dónde encuentro la configuración del correo saliente en la DB de Moodle?
Cuando modificamos información en la pantalla que encontramos bajo esta ruta:
Área personal / Administración del sitio / Servidor / Correo electrónico / Configuración de correo saliente
los datos se suelen almacenar en la table mdl_config (Importante: el prefijo mdl puede variar).
Podemos encontrar la información relacionada realizando la siguiente consulta en la base de datos:
SELECT * FROM mdl_config WHERE name LIKE '%mail%' OR name LIKE '%smtp%';
Captura de la consulta anterior, bajo la opción SQL de phpMyAdmin:
Captura parcial del resultado de la búsqueda
La búsqueda devolverá datos del tipo: smtphosts, smtpuser, smtppass, entre otros, como muestra la siguiente captura parcial de pantalla:
¿Qué hago si no encuentro los datos en la tabla mdl_config?
En algún caso, es posible que Moodle haya guardado los datos en mdl_config_plugins (mucho menos probable) en lugar de mdl_config. Si no encontraste la información en la búsqueda anterior, prueba con la siguiente búsqueda:
SELECT * FROM mdl_config_plugins WHERE plugin LIKE '%mail%' OR plugin LIKE '%email%';
Modificación manaul en la base de datos
Si los valores están en cualquiera de las búsquedas (muy probablemente en la primera), puedes actualizarlos directamente desde phpMyAdmin, o si tienes acceso, mediante las siguientes solicitudes SQL:
UPDATE mdl_config SET value = 'smtp.tudominio.com' WHERE name = 'smtphosts';
UPDATE mdl_config SET value = 'tu_usuario_smtp' WHERE name = 'smtpuser';
UPDATE mdl_config SET value = 'tu_contraseña_smtp' WHERE name = 'smtppass';
UPDATE mdl_config SET value = 'tls' WHERE name = 'smtpsecure';
UPDATE mdl_config SET value = '587' WHERE name = 'smtpport';
Importante:
Como siempre, antes de hacer actualizaciones en la base de datos, y para que luego estos se vean reflejado en el comportamiento de Moodle:
- Haz una copia de seguridad antes de modificar la base de datos.
- Para aplicar los cambios, purga la caché de Moodle desde:
- Área personal / Administración del sitio / Desarrollo / Purgar cachés
¿Comentarios, dudas o consultas adicionales?
Compártelas al pie de esta entrada.
Saludos y bonita semana para ti.
Plácido Luna
#Moodle #MoodleDB #MoodleMailSender #mailSender #purgarCachés #cachésDeMoodle #pluginsDeMoodle #smtpHosts #smtpUser #smtpPass #mdlConfig #mdlConfigPlugins #errorLostPassword #forms #MoodleForms
- 99
La zona de restauración de cursos de cursos de Moodle muestra procesos de importación pendiente
URL de restauración: https://urlDeTuInstalacionDeMoodle.com//backup/restorefile.php?contextid=1
Procesos pendientes
La captura anterior muestra que Moodle tiene procesos pendientes de restauración que pueden darse por varios motivos:
- Los procesos están en cola con varias restauraciones en progreso (no es el caso), Moodle puede estar esperando su turno para ejecutarla.
- Tiempo de ejecución prolongado, debido, por ejemplo, a documentos de gran tamaño, caso en que el proceso de restauración puede tardar bastante tiempo, especialmente si incluye muchos archivos o datos complejos (tampoco es el caso).
- Problemas de permisos asociados al usuario que intenta restaurar el curso (tampoco es el caso). En este caso, el proceso podría no completarse nunca.
- Errores en la configuración del servidor, con tiempos de espera insuficiente (valor indicado en la variable max_execution_time). Tampoco este es nuestro caso.
- Falta de memoria disponible en el servidor (no es nuestro caso).
- Bloqueos en la base de datos, debidos a permisos, errores en tablas, etc. (en principio, este tampoco es nuestro caso).
- Tareas programadas no ejecutándose (cron) relacionado con varias funciones. que podrían dejar los procesos de restauración pendiente (en principio, este tampoco es nuestro caso).
Posibles soluciones según el caso
- Verificar si el proceso sigue activo intentando esperar y recargar la página.
- Verificar en Administración del sitio -> Servidor -> Tareas programadas si el cron está corriendo correctamente (en nuestro caso, están corriendo correctamente).
- Revisar los siguientes parámetros en la configuración del servidor: max_execution_time y memory_limit en php.ini si es necesario.
- Identificar posibles errores en los logs de Moodle (/moodledata/temp/backup/) y del servidor web.
- Cancelar y reiniciar la restauración
¿Cómo cancelo los procesos de importaciones pendientes?
Como vemos en la captura anterior, hasta la versión 4.x de Moodle, no tenemos una opción para cancelar estos procesos desde su interfaz, por lo tanto, vamos a ver el proceso para matar estos procesos pendientes, desde la base de datos de Moodle:
1. Accedemos a la base de datos de Moodle desde phpMyAdmin o cualquier cliente SQL que tengamos disponible.
2. Ejecutamos esta consulta para ver los procesos pendientes:
SELECT * FROM mdl_backup_controllers WHERE status != '100';
Un status diferente de 100 indica un proceso incompleto.
3. Para eliminar los procesos en curso, usamos la siguiente sentencia SQL:
DELETE FROM mdl_backup_controllers WHERE status != '100';
4. También podemos eliminar cualquier intento de restauración pendiente:
DELETE FROM mdl_task_adhoc WHERE component = 'backup';
5. Borrar archivos temporales manualmente en caso de que Moodle siga mostrando restauraciones pendientes, desde la carpeta de archivos temporales de las copias de seguridad, presente en: /rutaDeMoodledata/temp/backup/
Para ello, podemos usar rm -rf * desde la línea de comando del servidor (Linux), o directamente, desde el administrador de archivos de phpMyAdmin, en caso de que tengas acceso a uno u otro.
Notas importantes:
1. Si necesitas reiniciar cron de Moodle (y a su línea de comandos):
php /ruta/de/moodle/admin/cli/cron.php
2. No olvides borrar las cachés de Moodle, desde:
Alternativa: No deseo eliminar los procesos, sino declararlos completos
1. En este caso, puedes utilizar esta sentencia (necesitas acceso al terminal del servidor):
UPDATE mdl_backup_controllers SET status = '100' WHERE status != '100';
Con esto lograremos que Moodle considere procesos terminados como completados, en lugar de eliminarlos.
Nuevamente, es recomendable borrar los archivos temporales en /moodledata/temp/backup/
2. Ejecutar el cron manualmente:
php /ruta/de/moodle/admin/cli/cron.php
3. Vaciar caché de Moodle desde Administración del sitio -> Desarrollo -> Purgar caché
¿Dudas, consultas o aportes adicionales?
Compártelas y sigamos aprendiendo, con argumentos.
Saludos y bonita jornada para ti.
Plácido Luna.
#Moodle #restaurarCursos #restaurarCursosEnMoodle #erroresEnMoodle #phpMyAdmin #cron #rm #memoryLimit #phpINI #maxExecutionTime
- 101