Advertisement
Guest User

Pop3client

a guest
Apr 13th, 2017
650
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.05 KB | None | 0 0
  1. /**
  2.  * Copyright (c) 2016 Phuong T. Nguyen. phuong.nguyen@live.de
  3.  *
  4.  */
  5.  
  6. package vn.bca.t36.d2.Pop3Client;
  7.  
  8. import java.net.*;
  9. import java.io.*;
  10.  
  11.  
  12. class Pop3Client{  
  13.     Socket sock;
  14.     BufferedReader bufReader;
  15.     DataOutputStream os;
  16.    
  17.     String rec="";
  18.     String server="";
  19.     String user = "";
  20.     String pass = "";
  21.     String rert = "";
  22.    
  23.     public static final int PASS = 0;
  24.     public static final int LIST = 1;
  25.     public static final int RETR = 2;
  26.     public static final int DATA_RECEIVED = 3;
  27.    
  28.    
  29.     public Pop3Client(String server,
  30.               String user,
  31.               String pass,
  32.               String rert            
  33.               ) throws Exception {
  34.        
  35.         this.server = server;
  36.         this.user = user;
  37.         this.pass = pass;
  38.         this.rert = rert;
  39.                
  40.         connect();
  41.        
  42.        
  43.     }
  44.  
  45.        
  46.    
  47.        
  48.     public void connect() throws Exception {       
  49.         sock=new Socket(this.server,110);      
  50.         bufReader=new BufferedReader(new InputStreamReader(sock.getInputStream()));            
  51.         os = new DataOutputStream(sock.getOutputStream()); 
  52.         System.out.println("Connected To "+sock.getInetAddress().getHostName());               
  53.     }
  54.  
  55.  
  56.    
  57.     public void close() throws IOException {
  58.         bufReader.close();     
  59.         os.close();            
  60.         sock.close();
  61.         System.out.println("Connection Closed");
  62.     }
  63.            
  64.                
  65.     public void rec(int numOfMails) throws Exception    {
  66.            
  67.         String message = "";
  68.         System.out.println("Connecting to server ...");
  69.        
  70.         //os.writeBytes("USER\r\n");   
  71.         os.writeBytes("USER "+ this.user + "\r\n");
  72.         int status = 0;//HELO already sent to the server
  73.         int count = 0;
  74.        
  75.        
  76.        
  77.         while(true){
  78.            
  79.             message = bufReader.readLine();
  80.             System.out.println(message);
  81.            
  82.             if(count>=numOfMails)break;
  83.            
  84.             if(message.contains("Aba he")){
  85.                 System.out.println("Close the connection");
  86.                 break;
  87.             }
  88.            
  89.         //  System.out.println("Email count: " + count);
  90.                        
  91.             switch (status) {
  92.                        
  93.             /*case HELO_RECEIVED: //command HELO already accepted by server                                                    
  94.                 message = bufReader.readLine();                
  95.                 os.writeBytes("PASS "+ this.user + "\r\n");            
  96.                 status = 1;
  97.                 break;  */ 
  98.             case PASS: //command HELO already accepted by server                                                       
  99.                 message = bufReader.readLine();                
  100.                 os.writeBytes("PASS "+ this.pass + "\r\n");            
  101.                 status = 1;
  102.                 break;
  103.                
  104.             case LIST : //command MAIL FROM already accepted by server
  105.                 os.writeBytes("LIST"+ "\r\n");
  106.                 System.out.println(message);
  107.                 status = 2;
  108.                 break;
  109.                
  110.             case RETR : //command RCPT TO already accepted by server                   
  111.                 os.writeBytes("RETR "+ this.rert + "\r\n");    
  112.                 System.out.println(message);
  113.                 os.writeBytes("QUIT\r\n"); 
  114.                 status = 3;
  115.                 break;
  116.                
  117.             /*case DATA_RECEIVED : //send email body                   
  118.                 os.writeBytes(this.body+"\r\n" + "." + "\r\n");
  119. //              if(message.contains("Message accepted for delivery"))
  120.                 count++;
  121.                 status=1;              
  122.                 break;*/   
  123.                
  124.             }
  125.            
  126. //          if(count>numOfMails)break;
  127.                
  128.         }
  129.            
  130.         os.writeBytes("QUIT\r\n");
  131.         message = bufReader.readLine();
  132.         System.out.println(message);
  133.        
  134.         System.out.println("Client terminates the connection!");   
  135.    
  136.     }  
  137.    
  138.    
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement