Java mail cómo enviar automáticamente un correo electrónico a condición

Nunca usó correo Java antes.

En mi aplicación web JSF, tengo una entidad(followUp) con una propiedadprivate Date checkDate; que corresponde a unaAnimal entidad. (Un animal tiene muchos registros de seguimiento). De otra manera

El usuario debe crear cada 3 meses un nuevo registro en{followUp} y márquelo como marcado y proporcione la fecha de su acción, que es "checkDate". Pero como el usuario es tan vago, lo hace solo por unos pocos animales. Por lo tanto, en realidad quiere recibir alertas por correo electrónico sobre los animales que no han sido verificados durante más de 3 meses. Ejemplo: creo unafollowUp registro para el Animal 'A' el 01/01/2011, luego, aproximadamente el 01/04/2011, el usuario recibe un correo electrónico que le alerta para que vaya a verificar el seguimiento del Animal B.

La aplicación web se ejecuta en la red de la empresa local.

Todo lo que sé es ese fragmento:

import javax.mail.*;
import javax.mail.internet.*;

import java.util.Properties;

class SimpleMail {
    public static void main(String[] args) throws Exception{
      Properties props = new Properties();
      props.setProperty("mail.transport.protocol", "smtp");
      props.setProperty("mail.host", "mymail.server.org");
      props.setProperty("mail.user", "emailuser");
      props.setProperty("mail.password", "");

      Session mailSession = Session.getDefaultInstance(props, null);
      Transport transport = mailSession.getTransport();

      MimeMessage message = new MimeMessage(mailSession);
      message.setSubject("Testing javamail plain");
      message.setContent("This is a test", "text/plain");
      message.addRecipient(Message.RecipientType.TO,
           new InternetAddress("[email protected]"));

      transport.connect();
      transport.sendMessage(message,
          message.getRecipients(Message.RecipientType.TO));
      transport.close();
    }
}

¿Debo crear, un filtro de servlet, un oyente, una aplicación con el respaldo de beans, para ese propósito? Una consulta que se repite enfollowUp registra y devuelve el checkDate del último registro y lo compara con la fecha Hoy?

Cualquier ayuda servirá. Saludos

Respuestas a la pregunta(1)

Su respuesta a la pregunta