python-emlimporter/ImapHelper.py
2018-06-03 15:24:52 +02:00

57 lines
1.3 KiB
Python

'''
@author: Klaus-Uwe Mitterer
'''
import imaplib2
import socket
import consolehelper
class ImapHelper(object):
folder_ = None
mail_ = None
def __init__(self,host,port,is_ssl,user,password,folder):
self.folder_=folder
try:
if(is_ssl):
self.mail_=imaplib2.IMAP4_SSL(host,port)
else:
self.mail_=imaplib2.IMAP4(host,port)
if 'STARTTLS' in self.mail_.capabilities:
self.mail_.starttls()
self.mail_.login(user, password)
except socket.error, e:
print "Error while connecting: {0}".format(e)
exit(1)
except imaplib2.IMAP4.error, e:
print "Error while connecting: {0}".format(e)
exit(1)
def __del__(self):
if self.mail_ != None:
self.mail_.logout()
def addMessage(self,message):
folder=self.folder_.replace('.',"/")
try:
ret=self.mail_.append(folder, "", None, str(message))
except socket.error, e:
print "Error while appending: {0}".format(e)
exit(1)
except imaplib2.IMAP4.error, e:
print "Error while appending: {0}".format(e)
exit(1)
if ret[0] != "OK":
print "Error while creating message {0}".format(ret[1])
if "Folder doesn't exist" in ret[1][0]:
if consolehelper.confirm("Folder doesn't exist. Do you want to create it?"):
self.mail_.create(folder)
self.addMessage(message)
c = consolehelper.Colors()
c.print_success("Done")