Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/12/2011, 05:17
Avatar de godisa
godisa
 
Fecha de Ingreso: noviembre-2011
Mensajes: 46
Antigüedad: 13 años
Puntos: 1
Respuesta: envio mensajes con protocolo SMTP java

estaba claro que era un error de sintaxis pero he tardado en dar con el,el codigo que me queda es:

public class enviar {
public static void main( String args[] ) throws IOException{


Socket socket_cliente = new Socket("servidor",25);
BufferedReader entrada = new BufferedReader(new InputStreamReader(socket_cliente.getInputStream()) );
DataOutputStream salida=new DataOutputStream(socket_cliente.getOutputStream()) ;

// Escribimos datos en el canal de salida establecido con el puerto del protocolo SMTP del servidor
if( socket_cliente != null && entrada != null && salida != null )
{
salida.writeBytes( "HELO servidor\r\n" );
System.out.println(entrada.readLine());
salida.writeBytes( "MAIL From:<15646.Administrator@VLD>\r\n" );
System.out.println(entrada.readLine());
salida.writeBytes( "RCPT To: <nombre@direccion>\r\n" );
System.out.println(entrada.readLine());
salida.writeBytes( "DATA\n" );
salida.writeBytes( "<hola hola>\n" );
salida.writeBytes( ".\r\n" );
System.out.println(entrada.readLine());
salida.writeBytes( "QUIT\r\n" );
System.out.println(entrada.readLine());
System.out.println(entrada.readLine());
// Los nombres en mayúsculas son comandos de SMTP

String respuesta;
while((respuesta=entrada.readLine().toUpperCase()) !=null)
{
System.out.println( "Servidor: "+respuesta );
if(respuesta.toUpperCase().indexOf("OK")!=-1) //nos devuelve la posición del string "OK"
System.out.println("Ha sido recibido el OK del mensaje");
break;
}

// Cerramos los flujos de salida y de entrada y el socket cliente
salida.close();
entrada.close();
socket_cliente.close();
}
}
}

me envia el mensaje y se recibe, lo unico que me lo envia vacio,porque data es para enviar el contenido que quiero que vea el receptor no?o estoy equivocada?
Saludos

Gracias