Foros del Web » Programación para mayores de 30 ;) » Java »

leer correo text/html

Estas en el tema de leer correo text/html en el foro de Java en Foros del Web. Hola me gustaria saber si puedo obtener el texto plano de los correos q son text/html, el tema es que de esos correos obtengo la ...
  #1 (permalink)  
Antiguo 29/04/2009, 15:07
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
leer correo text/html

Hola me gustaria saber si puedo obtener el texto plano de los correos q son text/html, el tema es que de esos correos obtengo la descripcion y los guardo en una base de datos pero me gustaria que solo sea el texto plano.

Lo que llevo implementado del metodo es esto, pero no funciona

Código:
 public String obtenerDescripcionMensaje(Message message) {
		String descripcion="";
		try {
			if (message.isMimeType("text/plain")) {
				descripcion+=message.getContent();
			}
			if (message.isMimeType("multipart/*")) {
				Multipart multi = (Multipart) message.getContent();
				for (int j = 0; j < multi.getCount(); j++) {
					Part unaParte = multi.getBodyPart(j);
					if (unaParte.isMimeType("text/plain")) {
						descripcion+=unaParte.getContent();
					}
					if (unaParte.isMimeType("multipart/*")) {
						Multipart multiparte = (Multipart) unaParte.getContent();
						for (int ind = 0; ind < multiparte.getCount(); ind++) {
							Part parte = multiparte.getBodyPart(ind);
							if (parte.isMimeType("text/plain")) {
								descripcion+=parte.getContent();
							}
						}
					}
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		} 
		return descripcion;
	 }
saludos y gracias
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #2 (permalink)  
Antiguo 10/11/2009, 10:11
Avatar de kastesponja  
Fecha de Ingreso: febrero-2008
Mensajes: 12
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: leer correo text/html

Por favor, que alguien conteste a esta pobre persona, que a mi me vendria genial, por que me hace muchisima falta. Ha pasado mucho tiempo desde que se creo este post, a si que a ver si alguien lo ha conseguido.
Gracias
  #3 (permalink)  
Antiguo 10/11/2009, 10:31
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: leer correo text/html

Si no me equivoco el correo html contiene tags. Así que lo único que tendrías que hacer es crear un filtrado con regular expressions, para que omita el contenido de los tags, es decir, cualquier cosa del body del correo que esté entre un elemento "<" y otro elemento ">". Luego vuelcas el body filtrado en una variable y ya lo tienes.

Es una idea de como hacerlo, te va a costar tiempo sobre todo si no dominas las expresiones regulares, pero te puede resultar muy útil.
  #4 (permalink)  
Antiguo 13/11/2009, 02:55
Avatar de kastesponja  
Fecha de Ingreso: febrero-2008
Mensajes: 12
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: leer correo text/html

Ok, si, eso es. Ya lo he solucionado. Con hacer un String.Replace y poner como expresion regular "<[^>]*>" me toma todos los tags. Ahora tengo otro problema. Al pasar el texto que me llega (en html) a un String de java, me llegan cosas como &aacute; (para á) y estas cosas. ¿Hay alguna forma generica de traducir todos los caracteres especiales de html a la vez?. ¿Me toca traducirlos uno a uno? (espero que no).
Gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:04.