template mailsender mail example java spring email imap spring-integration

java - mailsender - spring mail properties



Usando el adaptador IMAP de integración de primavera, ¿cómo recuperar un correo electrónico marcado "no leído" manualmente? (1)

Tengo un código que usa el adaptador IMAP de la integración de primavera para sondear una bandeja de entrada y leer todos los correos entrantes que no se leen y que funcionan perfectamente. Pero si abro cualquier mensaje de correo electrónico y luego lo marque como "no leído" en mi bandeja de entrada de Outlook, el sondeador no obtiene el correo electrónico marcado. Puedo usar el adaptador pop3 que recupera todo el correo electrónico, pero los borro después, pero quiero mantener los correos electrónicos en mi bandeja de entrada y quiero que el sondeador obtenga todos los correos electrónicos que no se ven.

Alguna sugerencia para manejar este problema? He estado buscando y leyendo artículos sobre adaptadores de correo electrónico, pero no encontré nada útil.

Gracias por adelantado.


Parece que necesita una estrategia de término de búsqueda personalizada. De la documentación SI:

De forma predeterminada, ImapMailReceiver buscará Mensajes basados ​​en el predeterminado SearchTerm que es Todos los correos que son RECIENTES (si se admiten), que NO SON RESPONDIDOS, que NO SE ELIMINAN, que NO SE VEN y que no han sido procesados ​​por este receptor de correo ( habilitado por el uso de la bandera de USUARIO personalizada o simplemente NO FLAGGED si no es compatible). Desde la versión 2.2, el SearchTerm utilizado por el ImapMailReceiver es totalmente configurable a través de SearchTermStrategy, que se puede inyectar a través del atributo search-term-strategy. SearchTermStrategy es una interfaz de estrategia simple con un único método que le permite crear una instancia de SearchTerm que utilizará ImapMailReceiver.

Y aquí hay una publicación del foro SI con la explicación funtastic de Oleg: El servidor no admite indicadores RECIENTES ni de USUARIO.

Y aquí puede encontrar SI DefaultSearchTermStrategy : es un lugar para determinar cómo debe implementar su propia estrategia. Supongo que tu caso es:

Este servidor de correo electrónico no es compatible con el indicador RECIENTE, pero admite indicadores de USUARIO que se utilizarán para evitar duplicados durante la recuperación del correo electrónico.

Cambie el nivel de registro de correo SI a DEPURAR y observe qué indicador admite su servidor de correo electrónico.