Buscar Con SearchTerm
Búsquedas con SearchTerm
El API JavaMail incluye un mecanismo de filtrado encontrado en el paquete javax.mail.search para construir un SearchTerm.
Una vez construido, podemos solicitarel a una Folder qué mensajes concuerdan, recuperar un array de objetos Message:
SearchTerm st = ...;
Message[] msgs = folder.search(st);
Hay disponibles 22 clases diferentes para ayudarnos a construir un SearchTerm.
- AND (clase AndTerm)
- OR (clase OrTerm)
- NOT (clase NotTerm)
- SENT DATE (clase SentDateTerm)
- CONTENT (clase BodyTerm)
- HEADER (FromTerm / FromStringTerm, RecipientTerm/ RecipientStringTerm, SubjectTerm, etc.)
Esencialmente, construimos una expresión lógica para concordar mensajes, luegos los buscamos. Por ejemplo, el siguiente término busca los mensajes con uns string (parcial) en el sibject de ADV o un campo "from" de friend@public.com.
Podríamos considerar la ejecución periódica de esta consulta y borrar automáticamente cualquier mensaje devuelto.
SearchTerm st =
new OrTerm(
new SubjectTerm("ADV:"),
new FromStringTerm("friend@public.com"));
Message[] msgs = folder.search(st);
Recursos
Se pueden hacer muchas más cosas con el API JavaMail que las descritas aquí. Podrás encontrarlas en las sigueintes direcciones: