Advertisement
Guest User

Untitled

a guest
Jul 11th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 1.06 KB | None | 0 0
  1. import javax.mail.Folder;
  2. import javax.mail.Session;
  3.  
  4. class Pop3Client
  5. {
  6.   def host,user,pass,port,proto
  7.   def store
  8.   def inbox
  9.  
  10.   def config =
  11.   { host, user, pass, ssl ->
  12.     this.host = host
  13.     this.user = user
  14.     this.pass = pass
  15.     port = ssl ? 995 : 110
  16.     proto = ssl ? "pop3s" : "pop3"
  17.   }
  18.  
  19.   def connect()
  20.   {
  21.     def props = new Properties()
  22.     props.setProperty('mail.debug', 'false')
  23.     def session = Session.getDefaultInstance(props)
  24.     session.debug = false
  25.     store = session.getStore(proto)
  26.     store.connect(host, port , user, pass)
  27.     inbox = store.getFolder('inbox')
  28.     inbox.open(Folder.READ_WRITE)
  29.   }
  30.  
  31.   def close =
  32.   { del ->
  33.     try{inbox.close(del)}catch(Exception e1){}
  34.     try{store.close()}catch(Exception  e1){}
  35.   }
  36.  
  37.   def count = { inbox.messageCount }
  38.  
  39.   def msg = {id -> return inbox.getMessage(id)}
  40.  
  41.   def pop = {offset, len -> inbox.getMessages(offset,offset+len)}
  42.  
  43.   def eachMsg = { close -> eachMsgWithIndex{msg, i-> close(msg)}}
  44.  
  45.   def eachMsgWithIndex =
  46.   { close ->
  47.     def c = count()
  48.     for(int i=1; i<=c; i++) close(msg(i),i)
  49.   }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement