Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Copyright (c) 2016 Phuong T. Nguyen. phuong.nguyen@live.de
- *
- */
- package vn.bca.t36.d2.Pop3Client;
- import java.net.*;
- import java.io.*;
- class Pop3Client{
- Socket sock;
- BufferedReader bufReader;
- DataOutputStream os;
- String rec="";
- String server="";
- String user = "";
- String pass = "";
- String rert = "";
- public static final int PASS = 0;
- public static final int LIST = 1;
- public static final int RETR = 2;
- public static final int DATA_RECEIVED = 3;
- public Pop3Client(String server,
- String user,
- String pass,
- String rert
- ) throws Exception {
- this.server = server;
- this.user = user;
- this.pass = pass;
- this.rert = rert;
- connect();
- }
- public void connect() throws Exception {
- sock=new Socket(this.server,110);
- bufReader=new BufferedReader(new InputStreamReader(sock.getInputStream()));
- os = new DataOutputStream(sock.getOutputStream());
- System.out.println("Connected To "+sock.getInetAddress().getHostName());
- }
- public void close() throws IOException {
- bufReader.close();
- os.close();
- sock.close();
- System.out.println("Connection Closed");
- }
- public void rec(int numOfMails) throws Exception {
- String message = "";
- System.out.println("Connecting to server ...");
- //os.writeBytes("USER\r\n");
- os.writeBytes("USER "+ this.user + "\r\n");
- int status = 0;//HELO already sent to the server
- int count = 0;
- while(true){
- message = bufReader.readLine();
- System.out.println(message);
- if(count>=numOfMails)break;
- if(message.contains("Aba he")){
- System.out.println("Close the connection");
- break;
- }
- // System.out.println("Email count: " + count);
- switch (status) {
- /*case HELO_RECEIVED: //command HELO already accepted by server
- message = bufReader.readLine();
- os.writeBytes("PASS "+ this.user + "\r\n");
- status = 1;
- break; */
- case PASS: //command HELO already accepted by server
- message = bufReader.readLine();
- os.writeBytes("PASS "+ this.pass + "\r\n");
- status = 1;
- break;
- case LIST : //command MAIL FROM already accepted by server
- os.writeBytes("LIST"+ "\r\n");
- System.out.println(message);
- status = 2;
- break;
- case RETR : //command RCPT TO already accepted by server
- os.writeBytes("RETR "+ this.rert + "\r\n");
- System.out.println(message);
- os.writeBytes("QUIT\r\n");
- status = 3;
- break;
- /*case DATA_RECEIVED : //send email body
- os.writeBytes(this.body+"\r\n" + "." + "\r\n");
- // if(message.contains("Message accepted for delivery"))
- count++;
- status=1;
- break;*/
- }
- // if(count>numOfMails)break;
- }
- os.writeBytes("QUIT\r\n");
- message = bufReader.readLine();
- System.out.println(message);
- System.out.println("Client terminates the connection!");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement