"""
mailbot --db database.db ... rest of the command
cmd --update        fetchmail
cmd --smtp smtp.server.com  set smtp server
cmd --imap ....             set imap server
cmd --address asdd@dff.com  set email adress
cmd --pass
  enter password
  confirm

every thing is stored in the database

more function is used to query the database
  --all
  --where tag
  --whithout tag
  --fron ....
  --to ...
  --bcc ...g
  --id 1342
some function will add data to mail
  --tag tagname
  --untag tagname
some function will send mail

first plugin
group discution
  {invite} {kick}
  op/deop
  open/close

plugin ticket system
  permit mail to trigger a discution with predetermined tier
  workflow. let rhe discution act as a state machine

plugin form
  can define a form and enforce it before being able to send it

plugin timetracking
  kinda usefull
  need to determine what it reaky is

plugin codereview
    use git


"""



import smtplib
import email
#use case 1 , will read email

def readMailPop(server,port,user,passwd):
    import poplib
    conn = poplib.POP3_SSL(server,port)
    conn.user(user)
    conn.pass_(passwd)
    ok,lst,octets = conn.list()
    cnt,size = conn.stat()
    print(ok)
    print(cnt)
    print(size)
    print(octets)
    for i in range(cnt):
		resp,lineLst,octets = conn.retr(i+1)
		print(i+1)
		print(resp)
		print(lineLst)
		print(octets)
    conn.quit()

def readMailImap(server,port,mailbox,user,passwd):
	import imaplib
	conn = imaplib.IMAP4_SSL(server,port)
	try:
		ok,data = conn.login(user,passwd)
		print(ok)
		print(data)
		ok,mailboxLst = conn.list()
		print(ok)
		print(mailboxLst)
		ok,msg = conn.select(mailbox)
		print(ok)
		print(msg)
		conn.logout()
	except imaplib.IMAP4.error:
		print("login failed")

def readMail(server,user,passwd,t=None):
	if t == 'imap4ssl':
		import imaplib
		conn = imaplib.IMAP4_SSL(server)
	elif t == 'smtpssl':
		import smtplib
		conn = smtplib.SMTP_SSL(server)

if __name__ == '__main__':
    readMailPop('pop.gmail.com',995,'majestic.nicolas.cage','cockcheese')
    readMailImap('imap.gmail.com',993,'INBOX','majestic.nicolas.cage','cockcheese')
    #readMail('smtp.gmail.com','majestic.nicolas.cage','cockcheese', 'smtpssl')

