class EmailController: ''' Email controller @todo: create mark message as read function ''' client = None ''' IMAP client library''' model = None ''' Email model''' offline = True ''' Is IMAP connected ''' def __init__(self,controller,host,port,user,passw,ssl=True): ''' Initialize EmailController -- works with imap @param controller: parent core L{Controller} @type controller: L{Controller} @param host: IMAP host address @type host: String @param port: IMAP port @type port: L{int} @param user: IMAP username @type user: String @param passw: IMAP password @type passw: String @param ssl: Use IMAP through SSL? @type ssl: Boolean ''' self.controller = controller self.host = host self.port = port self.user = user self.passw = passw self.ssl = ssl try: self.client = IMAPClient(host,port,True,ssl) self.client.login(user,passw) self.offline = False except: print "Couldn't connect to IMAP server: ",host,port,user,passw,"ssl=",ssl self.offline = True self.model = EmailModel(self,settings.DB_PATH) def sendMessage(self,send_from,send_to,mimemessage): ''' Send a message through smtp @param send_from: email of sender @type send_from: String @param send_to: email of reciever @type send_to: String @param mimemessage: messagedata @param mimemessage: MIMEMessage ''' smtp = smtplib.SMTP_SSL(settings.SMTP_HOST,settings.SMTP_PORT) smtp.login(settings.IMAP_USER,settings.IMAP_PASS) try: smtp.sendmail(send_from, send_to, mimemessage.as_string()) #return True except smtplib.SMTPException, e: raise Exception('SMTP to '+settings.SMTP_HOST+':'+settings.SMTP_PORT+' failed.') #return False '''try: self.emailmodel.updateStatus( except Exception, e: print e''' smtp.close()