View difference between Paste ID: 9FJucBu9 and qq0K8KeD
SHOW: | | - or go back to the newest paste.
1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3
import imaplib, base64, email
4
5
IMAP_HOST = 'imap.gmail.com'
6
EMAIL_USER = '[email protected]'
7
EMAIL_PASSWORD = 'password'
8
EMAIL_FILTER = 'rcontrol'
9
EMAIL_DISARM_KEYWORD = 'Снемане'
10
11
def check_email():
12
	mail = imaplib.IMAP4_SSL(IMAP_HOST)
13
	mail.login(EMAIL_USER,EMAIL_PASSWORD )
14
	mail.list()
15
	mail.select(EMAIL_FILTER) # connect to inbox.
16
17
	result, data = mail.uid('search', None, "ALL") # search and return uids instead
18
19
	latest_email_uid = data[0].split()[-1]
20
	latest_email_uid = latest_email_uid
21
	latest_email_uid1 = str(int(latest_email_uid) -1)
22
23
	result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
24
	result, data1 = mail.uid('fetch', latest_email_uid1, '(RFC822)')
25
	
26
	email_message = email.message_from_string(data[0][1])
27
	email_message1 = email.message_from_string(data1[0][1])
28
	#Disconect from IMAP server
29
	mail.logout
30
31
	message = email_message.get_payload()[0]._payload	
32
	message1 = email_message1.get_payload()[0]._payload	
33
	try:
34
		message1 = base64.b64decode(message1)
35
	except: 
36
		pass
37
	
38
	try:
39
		message = base64.b64decode(message)
40
	except: 
41
		pass		
42
43
	return message, message1
44
45
def check_alarm_status(message,message1):
46
	if (EMAIL_DISARM_KEYWORD in message) or (EMAIL_DISARM_KEYWORD in message1) :
47
		return "Off"
48
		
49
	else:
50
		return "On"
51
52
if __name__ == '__main__':
53
54
	message, message1 = check_email()
55
	print(check_alarm_status(message,message1))