package email;import java.net.*;
import java.io.*;
import java.net.*; public class ConsoleTestMail {
   public static void main(String args[]) {    //String s[2] = new String[2];
    for(int i=0;i<100;i++) {
      ConsoleTestMail t = new ConsoleTestMail ();
      t.sendMail("10.10.200.120", "[email protected]");   
    }
  }  public void sendMail(String mailServer, String recipient) {
    try {
       Socket s = new Socket(mailServer, 25);
       BufferedReader in = new BufferedReader
           (new InputStreamReader(s.getInputStream(), "8859_1"));
       BufferedWriter out = new BufferedWriter
           (new OutputStreamWriter(s.getOutputStream(), "8859_1"));       send(in, out, "HELO theWorld");
       // warning : some mail server validate the sender address
       //           in the MAIL FROm command, put your real address here       send(in, out, "MAIL FROM: <[email protected]>");
       send(in, out, "RCPT TO: <" + recipient +">");
       send(in, out, "DATA");
       send(out, "Subject: 测试");
       send(out, "From: Le Jianping <[email protected]>");
       send (out, "\n");
       // message body
       send(out, "邮件测试程序");
       send(out, "\n.\n");
       send(in, out, "QUIT");
       s.close();
       System.out.print("mail sended succeeded...");
    }
    catch (Exception e) {
        System.out.println("Error Loaded....");
        e.printStackTrace();
       }
    }
  public void send(BufferedReader in, BufferedWriter out, String s) {
    try {
       out.write(s + "\n");
       out.flush();
       System.out.println(s);
       s = in.readLine();
       System.out.println(s);
       }
    catch (Exception e) {
       System.out.println("Error Loaded in send....");
       e.printStackTrace();
       }
    }  public void send(BufferedWriter out, String s) {
    try {
       out.write(s + "\n");
       out.flush();
       System.out.println(s);
       }
    catch (Exception e) {
       e.printStackTrace();
    }
  }}

解决方案 »

  1.   

    什么错误提示啊,估计也是需要smtp验证
      

  2.   

    to simon0512(虫虫) 没有错误阿,可是就是收不到
      

  3.   

    这样肯定错误,在MAIL协议中,是'\r\n',不是'\n'.
      

  4.   

    而且你根本没有管返回,SMTP和POP3是交互协议(请求相应模式)
      

  5.   

    本身这样就错了       System.out.println(s);
           s = in.readLine();
           System.out.println(s);
    你把所有回车换行都过滤掉,使用一个换行符,包括邮件体也一样,破坏了邮件提的正确性,