发新话题
打印

有能力就看看这段程序能不能运行!!!!!!

有能力就看看这段程序能不能运行!!!!!!

//POP3Demo.java

import java.io.*;
import java.net.*;
class POP3Demo
{
public static void main(String[] args)
{
String POP3Server="mail.gatewest.net";
int POP3Port=110;
Socket client=null;
try
{
//创建一个连接到POP3服务程序的套接字。
client=newSocket(POP3Server,POP3Port);
//创建一个BufferedReader对象来读取用户输入。
BufferedReaderstdin;
stdin=newBufferedReader(newInputStreamReader(System.in));
//创建一个BufferedReader对象,以便从套接字读取输出。
InputStreamis=client.getInputStream();
BufferedReadersockin;
sockin=newBufferedReader(newInputStreamReader(is));
//创建一个PrintWriter对象,以便向套接字写入内容。
OutputStreamos=client.getOutputStream();
PrintWritersockout;
sockout=newPrintWriter(os,true);//trueforauto-flush
//显示POP3握手信息。
System.out.println("S:"+sockin.readLine());
while(true)
{
System.out.print("C:");
//读取用户输入。
String cmd=stdin.readLine();
//将命令发送到POP3服务程序。
sockout.println(cmd);
//读取POP3服务程序的回应消息。
String reply=sockin.readLine();
System.out.println("S:"+reply);
//如果输入了RETR命令并且返回了成功的回应码,持续从套接字读取输出,
//直到遇到<CRLF>.<CRLF>。这时从套接字读出的输出就是邮件的内容。
if(cmd.toLowerCase().startsWith("retr")&&
reply.charAt(0)== + )
do
{
reply=sockin.readLine();
System.out.println("S:"+reply);
if(reply!=null&&reply.length()>0)
if(reply.charAt(0)== . )
break;
}
while(true);
//如果用户输入了QUIT命令,退出邮件传输过程。
if(cmd.toLowerCase().startsWith("quit"))
break;
}
}
catch(IOExceptione)
{
System.out.println(e.toString());
}
finally
{
try
{if(client!=null)
client.close();
}
catch(IOExceptione)
{
}
}
}
}      

TOP

发新话题