Enviando e-mail para o GMAIL

Segue o meu codigo.

Ele funciona normalmente. Mas nao sei pq ele nao envia a mensagem. Não consigo achar o erro.

import java.io.*; 
import java.net.*;
import java.lang.*;
import java.io.*;
import java.util.StringTokenizer;
class TCPClient
{ 


    public static void main(String argv[]) throws Exception 
    {

        String From, To, Subject, Msg, Server, FromServer;    
        System.out.println ("\nIniciando Client");
                
        BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
        
        System.out.println("\nServer: ");
        Server = inFromUser.readLine();
        
        Socket clientSocket = new Socket(Server, 25);
        
	BufferedReader inFromServer = new BufferedReader(new InputStreamReader (clientSocket.getInputStream())); 
        
        FromServer = inFromServer.readLine();
            System.out.println(FromServer);               
 	DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());         	
        try
        {       
      	        
      	        StringTokenizer st = new StringTokenizer(FromServer," ");
                String teste = new String();
                teste = st.nextToken(" ");
                if(teste.equals("220"))
                {             	
			outToServer.writeBytes("HELO localhost" + '\n');
			FromServer = inFromServer.readLine();                       
                }
                
                //Envia ao servidor o Mail FROM
                StringTokenizer stm = new StringTokenizer(FromServer," ");
                String testem = new String();
                testem = stm.nextToken(" ");
                
                if(testem.equals("250"))
                {       
                	System.out.println("\nFrom: ");
                	From = inFromUser.readLine();
			outToServer.writeBytes("MAIL FROM:"+ "<"+From+">" + '\n');
			FromServer = inFromServer.readLine();
                        System.out.println(FromServer);                          
                }          
                
                //Envia ao servidor RCPT TO
                StringTokenizer str = new StringTokenizer(FromServer," ");
                String tester = new String();
                tester = str.nextToken(" ");
                
                if(tester.equals("250"))
                {       
                	System.out.println("\nTo: ");
	      		To = inFromUser.readLine();
			outToServer.writeBytes("RCPT TO:"+ "<"+To+">" + '\n');
			FromServer = inFromServer.readLine();
                        System.out.println(FromServer);                          
                }
                
                
                //Envia ao servidor DATA
                StringTokenizer std = new StringTokenizer(FromServer," ");
                String tested = new String();
                tested = std.nextToken(" ");
                if(tested.equals("250"))
                {       
                	
			outToServer.writeBytes("DATA" + '\n');
			FromServer = inFromServer.readLine();
                        System.out.println("\n"+FromServer);                          
                }
	      
	        //Envia ao servidor o a mensagem
                StringTokenizer stmsg = new StringTokenizer(FromServer," ");
                String testemsg = new String();
                testemsg = stmsg.nextToken(" ");
                System.out.println("teste : " + FromServer);
                if(testemsg.equals("354"))
                {       
                	System.out.println("\n\nMensagem(Apos digitar a mensagem, termime com um ponto: ");
	      		Msg = inFromUser.readLine();
			outToServer.writeBytes( Msg +'\n');
			outToServer.writeBytes('\n'+"."+'\n');
			FromServer = inFromServer.readLine();
                        System.out.println(Msg);                          
                }       

      	  	
      	  	clientSocket.close(); // Fechando a conexão.
      	  	
        }//try
        catch(UnknownHostException e)// Em caso de erro na conexão com o servidor é exibida esta mensagem. 
	     {
      	  	System.out.println ("Excessao: Servidor nao encontrado.\n");
        }//catch
          catch(IOException e)// Em caso de erro na leitura ou escrita dos dados é exibida esta mensagem
          {
      	  	  System.out.println ("Ocorreu uma excecao de entrada/saida.\n");
          }//catch
	   
        System.out.println ("\nCliente terminou!!!\n");
        
    }//Public
    
}//Class

Bom, ele esta com problema na parte da DATA pra adiantar pra voces. Obrigado

O seu problema é que você não consegue conectar-se ao servidor de email do Gmail, ou que você não consegue mandar um email (usando um outro servidor) para um endereço qqcoisa@gmail.com ?

Se for o primeiro, com esse código você não vai conseguir porque o GMail usa SSL. Você precisaria usar o JavaMail (e mais um pouco de mágica) para conseguir usar o servidor do GMail.

Se for o segundo, não sei o que pode estar ocorrendo.

[quote=thingol]O seu problema é que você não consegue conectar-se ao servidor de email do Gmail, ou que você não consegue mandar um email (usando um outro servidor) para um endereço qqcoisa@gmail.com ?

Se for o primeiro, com esse código você não vai conseguir porque o GMail usa SSL. Você precisaria usar o JavaMail (e mais um pouco de mágica) para conseguir usar o servidor do GMail.

Se for o segundo, não sei o que pode estar ocorrendo. [/quote]

É o segundo.

Eu conecto tudo direitnho. Recebo as mensagens de confirmação. Mas na hora de enviar os dados e terminar a mensagem da erro.

Eu tentei utilziar os mesmos comandos via telnet e deu certo.