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

envio de imagenes con javamail en html

Estas en el tema de envio de imagenes con javamail en html en el foro de Java en Foros del Web. Feliz año a todo el mundo... de nuevo con algunas dudas, que desearia me pudieran resolver. primero deseo a gradecerle Goncafa y GreenEyed por su ...
  #1 (permalink)  
Antiguo 11/01/2006, 09:45
Avatar de NanoWare  
Fecha de Ingreso: octubre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta envio de imagenes con javamail en html

Feliz año a todo el mundo...

de nuevo con algunas dudas, que desearia me pudieran resolver.

primero deseo a gradecerle Goncafa y GreenEyed por su colaboracion en el tema anterior(envio de pagina por email) sin su ayuda no habria sido posible.

la duda que me trae hoy es que he intentado agregarle imagenes al mensaje en html, pero esta no llegan con el correo, es importante aclarar que no las quiero como un attach, sino embebidas en la pagina que envio.

he hecho pruebas al respecto, pero nada que funciona, utilizo un servlet para hacer el envio.

si alguen sabe que debo hacer para lograr enviar las imagenes.
le agredeceria su comentario.
  #2 (permalink)  
Antiguo 11/01/2006, 11:28
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 18 años, 6 meses
Puntos: 0
Hola NanoWare, ke pena interrumpir aki, no tengo la solucion a tu problema,espero no tener problemas contigo por ello, necesito pedirte un favor, como veo ke trabajas con la api javamail me podrias ayudar, yo estoy empezando a trabajar con ella, y necesito crear una aplicacion web para mi universidad, para manejar todo el correo de alli (correo corporativo ke llaman)y he estado haciendo pruebas y buskando ayuda y veo ke tu tienes conocimientos avanzados en esto. Estoy empezando con algo ke me permita leer los correos, ke me los muestre asi como los ve uno en las bandejas de entrada de todos los servidores de correo, haciendo primero ke el usuario ingrese login y password para poder pasar a su respectiva bandeja para ver sus correos y luego ke pueda seleccionar un correo y ver su contenido, si tiene adjuntos y todo eso. Cualkier ayuda o colaboracion te agradezco de antemano, esto es muy importante para mi ya ke es mi proyecto de grado.
  #3 (permalink)  
Antiguo 11/01/2006, 12:03
Avatar de NanoWare  
Fecha de Ingreso: octubre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
No hay problema Ace Ventura, creo que la mejor ayuda que te puedo dar es que visites esta que me envies una direccion de correo para enviarte una direccion, ya que no tengo la cantidad de post necesarios para colocar links a otras paginas
  #4 (permalink)  
Antiguo 11/01/2006, 14:56
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 18 años, 6 meses
Puntos: 0
Ok hay te envie un mensaje privado con mi dir de correo espero me puedas ayudar bastante, xq soy bastante novato en esto y me meti en este proyecto sin saber mayor cosa sobre java, jsp, pero bueno iremos aprendiendo.
  #5 (permalink)  
Antiguo 11/01/2006, 16:46
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Heyyyyyyyyyyy

Revisa el ultimo post de las FAQs de este mismo foro

acabo de poner como mandar correos en formato HTML con JavaMail

have funnnnnnnnnnn!!
  #6 (permalink)  
Antiguo 12/01/2006, 11:16
Avatar de NanoWare  
Fecha de Ingreso: octubre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
Sonrisa

ace ventura mira tus correos privados al igual que LoganNeoZero, es bueno que miren el post de Stock.
  #7 (permalink)  
Antiguo 12/01/2006, 11:22
Avatar de NanoWare  
Fecha de Ingreso: octubre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
Stock...

revise tu post en las Faqs, pero no me indica como hacerlo con las imagenes, la cosa es que si lo hago con la clase pura de javamail, el me envia una sola de las tres imagenes.

pero si corro con la clase que contiene el javamail en un servlet no me envia ninguna, me arooja el siguiente error....

javax.mail.MessagingException: IOException while sending message; nested exception is: java.io.FileNotFoundException: xxxxxxx.jpg (El nombre de archivo, directorio o etiqueta del volumen no es válido)

Por que de una forma si y de otra no?
por que de la forma que funciona solo envia una?
  #8 (permalink)  
Antiguo 12/01/2006, 14:46
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
mmmmmmmmmmmm

mira, la clase esa que puse ahi, lo que hace en realidad es enviar el texto con formato HTML, cuando el mensaje llega por ejemplo a Hotmail, el explorador se encarga de interpretar el HTML, y si te das cuenta en el ejemplo esta la etiqueta para visualizar imagenes, pero en el src esta tomando la imagen de un servidor externo a Hotmail, y lo que hace es mostrar esa imagen, osea no le estoy mandado imagenes en el correo, solo links a donde estan alojadas.

la verdad no se por que te anda aventando las exceptiones esas que dices...........

have funnnnnnnnnnn!!
  #9 (permalink)  
Antiguo 12/01/2006, 16:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Google + "javamail sending embedded images" -> Primer enlace que sale, segundo ejemplo .

FileNotFoundException significa que no esta encontrando la imagen. Seguramente le estás pasando unicamente el nombre de la imagen cuando le tendrías que pasar el camino completo donde esta la imagen.

Un saludo
  #10 (permalink)  
Antiguo 13/01/2006, 07:07
Avatar de NanoWare  
Fecha de Ingreso: octubre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
GreenEyed...

con ese ejemplo es que estoy trabajando.

hice lo que sugieres coloque la direccion exacta donde se encuentra el archivo, con lo cual ya no me salta el error pero la imagen no me llega en el mensaje.
  #11 (permalink)  
Antiguo 13/01/2006, 07:50
Avatar de NanoWare  
Fecha de Ingreso: octubre-2005
Mensajes: 19
Antigüedad: 18 años, 6 meses
Puntos: 0
a todos gracias...

ya solucione el problema, pero en gran medida el del problema era yo, ya que en medio de mi desespero por encontrar respuestas olvide algunos cambios que le hice al codigo.

paso a explicar:

1. El ejemplo de embeber imagenes del tutorial que me indica GreenEyed, es correcto.

2. Hay que colocar la direccion exacta de ubicacion del archivo de imagen, error que solocione gracias a GreenEyed.

3. (y lugar donde en realidad estaba fallando) no olvidar colocar la referencia a la imagen con una URL especial cid en el SRC de la etiquete IMG, ejemplo: src="cid:xxxxxx.jpg"
este error lo descubri hoy gracias a que despues de poder enviar el mensaje sin el error, me puse a confrontar el codigo del ejemplo con el mio y Bingo descubri mi torpeza.

espero que todo esto sea de ayuda para otras personas y les evite algino que otro dolor de cabeza.
  #12 (permalink)  
Antiguo 13/01/2006, 10:25
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 18 años, 6 meses
Puntos: 0
Hola a todos, una pregunta greeeyed el enlace ke tu dices es el de la pagina de sun, es para saber si estoy mirando el ejemplo indicado.

Otra duda y perdon por la preguntadera cuando en el codigo me pide
props.setProperty("mail.host", "smtp.mymailserver.com");

a ke se refiere cuando me dice smtp.mymailserver.com
Yo estoy trabajando con el servidor de correos de mi universidad y asumo ke el nombre del servidor (y lo creo xq para leer correo coloco este y me funciona cuando me pide el proveedor de Pop3) es bari.ufps.edu.co
Gracias nuevamente

Última edición por Ace_ventura; 13/01/2006 a las 10:56
  #13 (permalink)  
Antiguo 13/01/2006, 12:56
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
pues si, es para especificar el servidor de correo.

ahi pones la IP o bien la direccion donde esta albergado.
  #14 (permalink)  
Antiguo 13/01/2006, 14:52
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Ummm, si y no . Hay que tener en cuenta que el servidor de correo por el que se reciben los mensajes (servidor POP3 o IMAP en la configuración) a veces es distinto del servidor de correo que se usa para enviar los mensajes (servidor SMTP en la configuración).

En este caso, para enviar haría falta el servidor SMTP y si es distinto del POP3, entonces te fallaría (suponiendo que lo intentaras con el de POP3).
En muchos casos el servidor es el mismo y por eso funciona, pero hay que saber el "truco" por si alguna vez te falla y no sabes por qué. Por ejemplo en mi universidad son dos diferentes.

En caso de usar JavaMail para leer mensajes, obviamente usariamos el servidor POP3 o IMAP.

Un saludo.
  #15 (permalink)  
Antiguo 14/01/2006, 14:27
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 18 años, 6 meses
Puntos: 0
Ok, gracias x la respuesta a mi segunda pregunta en cuanto a la primera greeeyed el enlace ke tu dices es el de la pagina de sun, es para saber si estoy mirando el ejemplo indicado, si es ese o no.
El servidor ke puse ahi sirve para las dos cosas, osea ke si lo puedo poner ahi en esa parte del codigo.
  #16 (permalink)  
Antiguo 14/01/2006, 17:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
No, el enlace que yo digo no es de Sun, pero si te funciona, tampoco importa de donde lo hayas sacado . Debe haber más ejemplos por ahí y efectivamente usan "cid:" en la direccion de las imagenes, que parece indicar que le mandas la direccion a traves del "content-id" (cid) del attachment.
  #17 (permalink)  
Antiguo 15/01/2006, 13:56
 
Fecha de Ingreso: octubre-2005
Mensajes: 188
Antigüedad: 18 años, 6 meses
Puntos: 0
Hola a todos, nuevamente x aki solicitando ayuda, tengo este codigo ke enkontre por ahi

Código PHP:
import javax.mail.*;
import javax.mail.internet.*;

import java.util.Properties;

class 
SimpleMail {
    public static 
void main(String[] argsthrows Exception{
        
System.out.println("Sending mail...");
        
Properties props = new Properties();
        
props.setProperty("mail.transport.protocol""smtp");
        
props.setProperty("mail.host""bari.ufps.edu.co");
        
props.setProperty("mail.user""[email protected]");
        
props.setProperty("mail.password""xxxx");

        
Session mailSession Session.getDefaultInstance(propsnull);
        
mailSession.setDebug(true);
        
Transport transport mailSession.getTransport();

        
MimeMessage message = new MimeMessage(mailSession);
        
message.setSubject("HTML  mail with images");
        
message.setFrom(new InternetAddress("[email protected]"));
        
message.setContent("<h1>Hello world</h1>""text/html");
        
message.addRecipient(Message.RecipientType.TO,
             new 
InternetAddress("[email protected]"));

        
transport.connect();
        
transport.sendMessage(message,
            
message.getRecipients(Message.RecipientType.TO));
        
transport.close();
        }
   } 
y cuando lo corro me sale este mensaje de error
Sending mail...
DEBUG: setDebug: JavaMail version 1.3.3ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.s
mtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false
DEBUG SMTP: trying to connect to host "bari.ufps.edu.co", port 25, isSSL false
Exception in thread "main" javax.mail.MessagingException: Could not connect to S
MTP host: bari.ufps.edu.co, port: 25;
nested exception is:
java.net.SocketException: Software caused connection abort: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTra nsport.java:1227)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SM TPTransport.java:322)
at javax.mail.Service.connect(Service.java:236)
at javax.mail.Service.connect(Service.java:137)
at javax.mail.Service.connect(Service.java:86)
at SimpleMail.main(SimpleMail.java:26)
Press any key to continue...


Ke signifika esto, ke estoy haciendo mal.
  #18 (permalink)  
Antiguo 15/01/2006, 15:55
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Lo primero decir que es mejor crear un nuevo tema que reutilizar uno que ya esta cerrado y solucionado, ya que confunde a la gente.

Segundo, el error es:
java.net.SocketException: Software caused connection abort

Y segun San Google, es causado por problemas de conexion desde tu programa al servidor de correo, habitualmente causados por Firewalls o cualquier tipo de filtro que corte las conexiones con el servidor.
  #19 (permalink)  
Antiguo 22/02/2006, 12:31
 
Fecha de Ingreso: febrero-2006
Mensajes: 1
Antigüedad: 18 años, 2 meses
Puntos: 0
Saludos!!
Podrian ayudarme para enviar un formulario con el uso de javamail, esto es sin abrir outlook.
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 19:57.