人工智能
972
code as following:
import win32com.client, sqlite3 from datetime import datetime def collectMail(): conn = sqlite3.connect('outlook.db') i = 0 try: outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") inbox = outlook.GetDefaultFolder(6) messages = inbox.Items print 'total messages: ', len(messages) message = messages.GetFirst () while message: i += 1 try: subject = message.Subject #print i, subject received_time = str(message.ReceivedTime) #print received_time received_time = datetime.strptime(received_time, '%m/%d/%y %H:%M:%S') #print message.EntryID html_body = message.HTMLBody size = long(message.Size) sender = message.SenderName receiver = message.To cc = message.Cc body = message.Body conn.execute('insert into outlook(SUBJECT, SENDER, RECEIVER, CC, SIZE, RECEIVED_TIME, BODY, HTML_BODY) values(?, ?, ?, ?, ?, ?, ?, ?)', (subject, sender, receiver, cc, size, received_time, body, html_body)) conn.commit() except: print i, 'skip' continue message = messages.GetNext() finally: print 'connection closed' conn.close() collectMail() ''' sql to create table create table outlook( ID INTEGER PRIMARY KEY AUTOINCREMENT, SUBJECT VARCHAR(200) NOT NULL, SENDER VARCHAR(200) NOT NULL, RECEIVER VARCHAR(200) NOT NULL, CC VARCHAR(200) NOT NULL, SIZE LONG NOT NULL, RECEIVED_TIME DATETIME, BODY TEXT, HTML_BODY TEXT); '''
python-script-to-read-the-emails-from-custom-folder-from-microsoft-outlook-mailb
reading-e-mails-from-outlook-with-python-through-mapi
microsoft.office.interop.outlook
sqlite_using_autoincrement
广告