El mailer permite mandar correos programados a los usuarios. Estos usan uno de los Estados ECA para definir de mejor forma la fecha.
Tal como se menciona en Administrador, se necesitan configurar ciertos aspectos con tal de que esta funcionalidad esté disponible.
Notar que todos los checkeos (de ser profesor o alumno) se hacen bajo el semestre actual)
Un usuario puede dejar de recibir correos accediendo a su Perfil, que se puede ver bajo el dropdown que aparece en el correo del usuario. Allí hay un botón para desactivar/activar correos. El ser profesor de una macrosección no es revisado bajo el obtener todos los profesores, pero si el de si tiene un curso con ECA configurada o no.
Disponible en la ruta mailer/scheduler/new
Para configurar un correo se debe de usar la sintaxis Cron, que permite configurar fechas que se repiten con facilidad. Para practicar la sintaxis, se puede usar https://crontab.guru/.
Los correos usan Twig para generar el Contenido del correo, por lo que se pueden acceder a diversas variables al momento de escribir el correo. Al hacer click sobre el ℹ se pueden ver los nombres de las variables accesibles.
Notar que para que el correo se pueda mandar, se debe dejar el checkbox de Activa como checkeado.
Se adjunta un ejemplo de Contenido de un correo que usa Twig:
<p>Hola {{ user.name }}</p>
Fechas ECA:
<ul>
<li>Semana Pasada: {{ week.last.ecaStart}}, {{ week.last.ecaEnd}}</li>
<li>Esta Semana: {{ week.this.ecaStart}} a las {{ data.start_hour }}, {{ week.this.ecaEnd}} a las {{ data.end_hour }}</li>
<li>Siguiente Semana: {{ week.next.ecaStart}}, {{ week.next.ecaEnd}}</li>
</ul>
Semanas:
<ul>
<li>Pasada: {{ week.last.start}}, {{ week.last.end}}</li>
<li>Actual: {{ week.this.start}}, {{ week.this.end}}</li>
<li>Siguiente: {{ week.next.start}}, {{ week.next.end}}</li>
</ul>
Cursos:
<ol>
<li>Estudiante:
<ul>
{% for course in courses.student.all %}
<li>{{course.code}}: {{ course.name }}</li>
{% endfor %}
</ul>
</li>
<li>profesor:
<ul>
{% for course in courses.teacher.allAll %}
<li>{{course.code}}: {{ course.name }}</li>
{% endfor %}
</ul>
</li>
</ol>
Por defecto, se recomienda dejar el campo de Envíos vacío, ya que así, se envía el correo durante todos los envíos del periodo. En caso de dejar el campo con un valor, el correo se enviará las veces que indica el valor últimas del estado ECA, es decir, si se deja 1 en Envíos, el estado eca como OpenClosed, y con frecuencia semanal, el correo se enviará únicamente la última semana en el que la ECA se puede contestar.