Exemplo n.º 1
0
	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)	
Exemplo n.º 2
0
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()