以下代码,我用来连接qq或sina都可以,但是gmail却连不上,提示连接超时
难道是pop地址或端口写错了?import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
public class SocketMail 
{
public static void main(String[] args) throws Exception
{
String pop = "pop.gmail.com";
String user = "[email protected]";
String password = "yyy";
int port = 995;

Socket client = new Socket(pop, port);
InputStream is = client.getInputStream();
BufferedReader sockin = new BufferedReader(new InputStreamReader(is));
OutputStream os = client.getOutputStream();
PrintWriter sockout = new PrintWriter(os, true); 

System.out.println("S:" + sockin.readLine());
sockout.println("user " + user);
System.out.println("S:" + sockin.readLine());
sockout.println("pass " + password);
System.out.println("S:" + sockin.readLine());

sockout.close();
os.close();
sockin.close();
is.close();
client.close();
}
}

解决方案 »

  1.   


    用socket就不用导入多余的包而且项目经理也不给这样做。。
      

  2.   

    955是加密端口,應該是用javax.net.ssl包下的SSLSocket
      

  3.   

    你确定你能连到gmail的pop端口?
    cmd -> telnet pop.gmail.com 995另外,gmail的pop授权需要手动打开,具体看google的帮助
      

  4.   

    而且..你用socket连mail?
    然后捏? 自己解析邮件协议??
    我只能说...你们项目经理真2
      

  5.   

    看LZ的代码,用户名和密码应该是在连接的时候用的啊,但是你好像是直接给打印出来了
    LZ怎么用socket来连接
    jdk自带的有mail的工具包,另外apache的commons-mail也非常好用