Listas de correo

Se necesita un software que maneje listas de correo


Necesitamos que sea capaz de: 

  • Enviar un correo, recibiendo la dirección de e-mail origen del correo, título y texto.

El envío de correos a la lista puede definirse como abierto (cualquiera puede enviar correos a la lista) o restringido a los miembros de la lista. 

Para mandar los correos, el sistema debe interactuar con otro sistema que tiene la  capacidad de mandar un mail a una dirección específica. También debemos definir la interfaz con la que nos vamos a comunicar con ese otro sistema.

Contemplar la posibilidad de que el sistema de envío de mails no pueda enviar un correo determinado. Como primera medida vamos a ignorar los mails que no se pudieron enviar.

Cada usuario puede tener definida más de una dirección de e-mail, desde las que puede enviar mensajes a la(s) lista(s). De todas las direcciones de e-mail que tenga, una es a la que se le envían los mails.


El sistema externo para enviar mails tiene la siguiente API:

class MailSender static:: MailSender createInstance(String smtpHost, String from); void sendEmail(String to, String title, String body, File[] attachments); void sendEmail(String[] tos, String title, String body, File[] attachments);
  • Nuevo tipo de lista: MODERADA

Se agrega un nuevo tipo de lista, que son las MODERADAS, una lista moderada es aquella que necesita aprobación de un administrador para enviar el e-mail.

Es decir, el moderador es notificado recibiendo un e-mail cada vez que se intenta enviar un mensaje en el que se le avisa que tiene que revisar los e-mails a aprobar. Una vez que un e-mail es aprobado por un moderador, se envía a la lista (pero no lo envía el moderador, el moderador sólo aprueba su envío).

  • Estadísticas

Estadísticas para todos: ahora es necesario llevar estadísticas de cada una de las listas. Nos interesa:

    • Saber los mensajes enviados que contenían alguna palabra “comprometedora”, la lista de palabras comprometedoras (que pueden cambiar), por el momento son: “bomba”, “nos estan escuchando”, “fafafa”, “terrorismo”
    • Saber cuales son las personas más activas de las listas, estas son: las que envían más mensajes

Se pide

  1. Resolver los puntos en orden e ir incorporando los pedidos
  2. Para todos los requerimientos definir los casos de Test que comprobarán el funcionamiento del sistema
Comments