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