No llegan mails a los usuarios en Moodle

Cada vez que uno instala una nueva plataforma Moodle, empiezan los problemas con el tema de los mails. Por ejemplo, no llegan los mensajes de los foros a los mails de los usuarios suscriptos. O no llegan los mensajes de la mensajería privada, ni los de recuperación de clave (“Olvidé mi contraseña”). Hay que armarse de paciencia y recordar que para que llegue un mail a un usuario de un curso, tienen que darse muchas cosas: Usuario, Plataforma Moodle y Hosting tienen que poner su parte en todo esto.

¿Por dónde empezar a descifrar este enigma?

Aquí algunos consejos para empezar, muchos de los cuales terminan, lamentablemente, en el típico… consulte con el responsable del servicio de Hosting.

Paso 1: Crear varios usuarios de prueba,

Crear varios usuarios de prueba, con diferentes direcciones de mail, y distintos roles. Asignarlos al curso correspondiente y suscribirlos al foro (suscribirse a un foro en Moodle significa “anotarse para recibir los mensajes por mail”). Para las pruebas no estaría mal elegir la opción “Suscripción forzoza” en la configuración del foro. Para comprobar qué usuarios recibirán los mensajes por mail, ver en el panel Ajustes / Administración del foro, la opción “Mostrar / editar suscriptores actuales”.

Opciones de suscripción de un foro

Paso 2: Escribir un mensaje en el foro

Escribir un mensaje en el foro, eligiendo la opción “Enviar inmediatamente” (porque si no se elige esa opción, la plataforma esperará media hora o el tiempo indicado en la configuración antes de enviar el mensaje).  Esperar un rato. Para que los mensajes lleguen a los usuarios, Moodle utiliza un programa que se llama Cron. Ay, bendito Cron!!!

¿Y qué es un Cron?

En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos que deben ejecutarse y la hora en la que deben hacerlo se especifican en el fichero crontab. El nombre cron viene del griego chronos que significa “tiempo”.

Fuente: Wikipedia

Moodle tiene un programa llamado Cron, que es el que debe ejecutarse recularmente. Cada diez minutos alguien debe ejecutar ese programa para que se envíen todos los mails que están listos para ser enviados. ¿Quién ejecuta eso cada diez minutos, día y noche, incansablemente, independientemente de los feriados y fiestas religiosas? Debería hacerlo el Hosting. Es decir, el servidor en que se aloja Moodle, quien tiene todos nuestros datos en su poder.

Así que si en diez minutos, quince o media hora no se enviaron los mensajes, probablemente no esté configurada la tarea en el hosting (el cron job, es decir, la ejecución regular del programa para enviar los mails). ¿Cómo lo averiguamos? Ejecutando el cron manualmente.

Paso 3: Ejecutar el cron manualmente.

Para eso, usamos la dirección de nuestra plataforma y le agregamos /admin/cron.php

Por ejemplo:

www.cursos_malos_y_caros.edu.ar/admin/cron.php

¿Ahora llegaron los mensajes?

Si los mensajes llegaron a los suscriptores, entonces hay que escribirle un mail al administrador del hosting diciéndole que se necesita configurar el cron para que cada 10 minutos se envíen los mails de la plataforma. Hay que indicarle la dirección del cron  (blabla/admin/cron.php).

¿No llegaron los mensajes? ¡Oh! ¡Estamos en problemas! ¿Qué hacemos ahora?

Primero, volver a mirar si los usuarios están suscriptos al foro. Pero por las dudas, enviarles un mensaje utilizando la mensajería interna puede ser una buena prueba también de funcionamiento de los mails.

Para eso entramos al perfil de un usuario y elegimos “Enviar mensaje”.

Enviar un mensaje

¿Le llegó el mensaje a esa persona? Si le llegó, entonces hay que ver por qué no llegan los mensajes del foro (problemas con el cron, problemas con el máximo de mails por hora, etc.).

Si no le llegó, entonces el sistema no está enviando mails, en general. Para comprobar esta hipótesis, lo que podemos hacer es salir (desloguearnos) y hacer clic en “Olvidé mi clave”. Al escribir la dirección de mail de nuestro usuario, debería llegarnos un mail con las instrucciones para cambiar la clave. Si no llega, comprobamos la hipótesis: el sistema no envía los mails. ¿Qué hacer en este caso? Preguntarle al responsable del hosting si están habilitados los envíos de mails por PHP. Si no están habilitados y no piensan habilitarlos, necesitamos configurar la salida de mails por un SMTP.

Paso 4: Configurar la salida de mails por SMTP

Una vez que asumimos el problemita de no poder enviar los mails con el sistema por defecto de Moodle (PHP), necesitamos una cuenta de correo que permita enviar miles de mails por hora sin ser considerado spammer.

Para conseguir los datos del SMTP tenemos que ponernos en contacto con el administrador del hosting; decirle que se van a enviar miles de mails por hora (la cantidad de usuarios de la plataforma multiplicado por la cantidad de mensajes que se escriban), y que necesitamos los datos de la cuenta (la dirección del SMTP, el nombre de usuario del SMTP, la contraseña, el puerto -por defecto es 25-, si se requiere conexión segura, si es conexión segura de tipo SSL o TLS). Mucha gente utiliza una cuenta de Gmail (yo no lo probé).

Una vez que tenemos esos datos, vamos a la ventana de Administración del sitio / Extensiones / Email:

Configurar los mails en Moodle

Allí tenemos todas las opciones para configurar el SMTP, excepto el puerto que generalmente es 25 (si no es, hay que utilizar configuraciones más avanzadas…):

Configurar el mail

6 opiniones en “No llegan mails a los usuarios en Moodle”

  1. Hola Iris! Impecable tu explicación. Muchas gracias. Quería preguntarte una cosa. Hace un tiempo no recibo los mails de los foros de la mensajeria privada, pero si cuando quiero actualziar contraseña. NO se a que atribuirle este error. Que opinas?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *