Java - Ayuda con MIME J2ME

   
Vista:

Ayuda con MIME J2ME

Publicado por hvassago (2 intervenciones) el 23/01/2008 18:13:22
Estoy haciendo una aplicacion para enviar email via smtp a mi cuenta de correo la cual me lo envia directamente a mi movil, el problema que tengo es que cuando envio un email normal que solo contenga asunto y el cuerpo del mensaje, a mi movil solo llega el asunto nada mas. En cambio si envio un attachment sea cual sea y del tipo que sea puedo ver perfectamente el texto del mensaje, esto se debe a que el cliente de correo detecta inmediatamente que se trata de un email multipartes, por lo cual lo convierte a mime incluyendo el cuerpo del mensaje dentro de el, es por eso que puedo ver perfectamente el cuerpo del mensaje al ver el email.
Bueno, el problema radica cuando lo envio yo por medio de comandos SMTP, no me funka ya le he intentado de muchas formas, pongo parte del codigo el creo que es el critico talvez alguien que tenga experiencia con esto me pueda ayudar.
El codigo es el siguiente:

SocketConnection conexion = null;
InputStream is = null;
OutputStream os = null;
StringBuffer sb = new StringBuffer();
String tmp;
try {
conexion = (SocketConnection)Connector.open("socket://smtp.host.com:25");
is = conexion.openInputStream();
os = conexion.openOutputStream();

os.write("MAIL FROM: micorreo@dominio.com ".getBytes());
os.write("RCPT TO: destinatario@dominio.com ".getBytes());
os.write("DATA ".getBytes());
os.write("From: micorreo@dominio.com ".getBytes());
os.write("To: destinatario@dominio.com ".getBytes());
os.write("Subject: Prueba de email con MIME )".getBytes());
os.write("Date: Tue, 22 Jan 2008 12:47:41".getBytes());
os.write("MIME-version: 1.0 ".getBytes());
tmp = "content-type: multipart/mixed; boundary=" + (char)34 + "kaifaturumakarakiwi" + (char)34 + " ";
os.write(tmp.getBytes());
os.write(" ".getBytes());
os.write("--kaifaturumakarakiwi ".getBytes());
tmp = "content-type:text/plain; charset=" + (char)34 + "iso-8859-1" + (char)34 + " ";
os.write(tmp.getBytes());
os.write("content-transfer-encoding:7bit ".getBytes());
os.write(" ".getBytes());
os.write("Esto es una prueba de email, este es el cuerpo del msj= ".getBytes());----->este es el mensaje codificado base64
os.write("--kaifaturumakarakiwi ".getBytes());
tmp = "content-type:text/plain; name=" + (char)34 + "z.txt" + (char)34 + " ";
os.write(tmp.getBytes());
os.write("content-transfer-encoding:7bit ".getBytes());
tmp = "content-Disposition: attachment; filename=" + (char)34 + "z.txt" + (char)34 + " ";
os.write(tmp.getBytes());
os.wtite(" ");
os.write("Este es el contenido del archivo txt; ".getBytes());----->aki va el kontenido del archivo txt
os.write("--kaifaturumakarakiwi-- ".getBytes());
os.write(". ")
os.write("QUIT ".getBytes());

int c = 0;
while ( (c = is.read() ) != -1) {
sb.append( (char)c);
}
respuesta.setText(sb.toString());
} catch (IOException ex) {
respuesta.setText("Error de conexion");
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder