Hola Gema,
Independientemente de que el CRON debe estar funcionando correctamente para que sea posible que se envíen los mensajes de email a los usuarios, el envío propiamente dicho se hace mediante PHP o mediante un servidor de correo externo (el de tu proveedor de hosting, Gmail, etc.).
Por tanto, para verificar si el envío se hace mediante PHP o un servidor externo, ve a:
'Administración del sitio \ Extensiones \ Mensajes de salida \ email'
En dicha página, si 'Servidores SMTP' está en blanco, quiere decir que Moodle está usando PHP para el envío de correo.
Si, por el contrario, tiene configurado algún servidor, quiere decir que Moodle está usando ese servidor de correo para el envío de mensajes a los usuarios.
Si lo hace mediante PHP, hay poco que configurar. Aunque, en este caso, podría estar fallando la configuración del CRON y/o producirse el inconveniente que te comenté en el punto que denominaste 1.- de mi primera respuesta respecto de la seguridad de algunos servicios de correo como Gmail, Yahoo, etc.
Si lo hace mediante un servidor de correo externo, habría que verificar que la configuración de dicho servidor, en Moodle, es correcta. En este caso también podría haber algún error en la configuración del CRON.
CRON debe funcionar correctamente para que se produzcan envíos de correos a los usuarios, sea mediante PHP o servidores externos, así como también muchos otros servicios automatizados de Moodle. Sin esto, Moodle no funcionará de forma adecuada.
Una forma fácil de comprobar que el CRON se está ejecutando, es abriendo 'Notificaciones' del bloque 'Administración'
Si, en la página que se abre, aparece algo así:
Quiere decir que el CRON no se está ejecutando.
Si se estuviera ejecutando, no aparecería la línea de advertencia acerca del 'cron.php'. Algo así:
A modo de ejemplo, te adjunto un archivo de texto donde Moodle especifica algunas de las tareas que se ejecutan mediante CRON.
Saludos.
JP