· 8 years ago · Apr 16, 2018, 05:26 PM
1from MySQLdb import connect
2import imaplib, email, getpass, sys, time
3import datetime
4user = 'root'
5pwd = ''
6host ='127.0.0.1'
7port = 3306
8db = connect(
9 user=user,
10 passwd=pwd,
11 host=host,
12 port=port
13)
14
15cursor = db.cursor()
16cursor.execute('create database if not exists MAILpython')
17cursor.execute('use desafio_python')
18cursor.execute('CREATE TABLE IF NOT EXISTS `emails` (`ID` int primary key AUTO_INCREMENT,`origem` varchar(100), `assunto` varchar(100),`data_recebido` date )')
19
20account = input("Digite seu usuário: ") +"@gmail.com";
21conMail = imaplib.IMAP4_SSL('imap.gmail.com')
22
23try:
24 rv, data = conMail.login(account, getpass.getpass())
25except imaplib.IMAP4.error:
26 print("Senha ou email inválido!!! ")
27 sys.exit(1)
28
29print(rv, data)
30
31#palavra = input("Digite a palavra que deseja localizar: ")
32
33
34def get_body(msg):
35 if msg.is_multipart():
36 return get_body(msg.get_payload(0))
37 else:
38 return msg.get_payload(None, True)
39
40
41conMail.select("inbox")
42result, data = conMail.fetch(b'10', '(RFC822)')
43msg = email.message_from_bytes(data[0][1])
44origem = msg["From"]
45assunto = msg["Subject"]
46date_tuple = email.utils.parsedate_tz(msg['Date'])
47if date_tuple:
48 local_date = datetime.datetime.fromtimestamp(
49 email.utils.mktime_tz(date_tuple))
50 data_recebido = local_date.strftime(" %Y-%m-%d")
51corpo_do_email = get_body(msg)
52
53cursor.execute("INSERT INTO `emails` (`origem`,`assunto`,`data_recebido`) values(%s,%s,%s)", (origem, assunto,data_recebido))
54
55db.close()