Eu estou desenvolvendo um trabalho pra faculdade no qual tenho que implementar em java um cliente SMTP. Em outro tópico deste fórum algumas pessoas já me ajudaram a fazê-lo. O problema agora é que o professor resolveu complicar e quer que o cliente tbm mande um anexo junto ao email principal e eu não sei como fazer isso usando o protocolo SMTP.
Gostaria que alguém me ajudasse.
Desde já agradeço.
// Abrimos una conexión con breogan en el puerto 25// que es el correspondiente al protocolo smtp, e intentamos// abrir los streams de entrada y salidatry{s=newSocket("breogan",25);sIn=newDataInputStream(s.getInputStream());sOut=newDataOutputStream(s.getOutputStream());}catch(UnknownHostExceptione){System.out.println("No conozco el host");}catch(IOExceptione){System.out.println(e);}// Si todo está inicializado correctamente, vamos a escribir// algunos datos en el canal de salida que se ha establecido// con el puerto del protocolo smtp del servidorif(s!=null&&sIn!=null&&sOut!=null){try{// Tenemos que respetar la especificación SMTP dada en// RFC1822/3, de forma que lo que va en mayúsculas// antes de los dos puntos tiene un significado especial// en el protocolosOut.writeBytes("MAIL From: [email removido]\n");sOut.writeBytes("RCPT To: [email removido]\n");sOut.writeBytes("DATA\n");sOut.writeBytes("From: [email removido]\n");sOut.writeBytes("Subject: Pruebas\n");// Ahora el cuerpo del mensajesOut.writeBytes("Hola, desde el Tutorial de Java\n");sOut.writeBytes("\n.\n");// Nos quedamos a la espera de recibir el "Ok" del// servidor para saber que ha recibido el mensaje// correctamente, momento en el cual cortamosStringrespuesta;while((respuesta=sIn.readLine())!=null){System.out.println("Servidor: "+respuesta);if(respuesta.indexOf("Ok")!=-1)break;}// Cerramos todo lo que hemos abiertosOut.close();sIn.close();s.close();}catch(UnknownHostExceptione){System.out.println("Intentando conectar: "+e);}catch(IOExceptione){System.out.println(e);}}}}