caffeinatedmike

EventGhost Unread Outlook Emails

Aug 9th, 2018
635
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.58 KB | None | 0 0
  1. import win32com.client
  2. import time
  3.  
  4. application = win32com.client.Dispatch("Outlook.Application")
  5. mapi = application.GetNamespace("MAPI")
  6. outlook = mapi.Folders[eg.globals.username]
  7.  
  8. emails = {'jira':[],'review':[],'validation':[],'inbox':[]}
  9.  
  10. #Get New JIRA Tickets
  11. jira_items = outlook.Folders['JIRA'].Items
  12. unread_jiras = jira_items.Restrict('[UnRead] = true')
  13. unread_jira = unread_jiras.GetFirst()
  14. jira_int = len(unread_jiras)
  15.  
  16. while not (unread_jira == None):
  17.     emails['jira'].append((unread_jira.EntryID,
  18.                            time.ctime(int(unread_jira.SentOn)),
  19.                            unread_jira.SenderName,
  20.                            unread_jira.subject))
  21.     unread_jira = unread_jiras.GetNext()
  22.    
  23. #Get Unread Import Reviews
  24. review_items = outlook.Folders['Import Review'].Items
  25. unread_reviews = review_items.Restrict('[UnRead] = true')
  26. unread_review = unread_reviews.GetFirst()
  27. review_int = len(unread_reviews)
  28.  
  29. while not (unread_review == None):
  30.     emails['review'].append((unread_review.EntryID,
  31.                              time.ctime(int(unread_review.SentOn)),
  32.                              unread_review.SenderName,
  33.                              unread_review.subject))
  34.     unread_review = unread_reviews.GetNext()
  35.  
  36. #Get New Validation Emails
  37. validation_items = outlook.Folders['Imports/Exports'].Items
  38. unread_validations = validation_items.Restrict('[UnRead] = true')
  39. unread_validation = unread_validations.GetFirst()
  40. validation_int = len(unread_validations)
  41.  
  42. while not (unread_validation == None):
  43.     emails['validation'].append((unread_validation.EntryID,
  44.                                  time.ctime(int(unread_validation.SentOn)),
  45.                                  unread_validation.SenderName,
  46.                                  unread_validation.subject))
  47.     unread_validation = unread_validations.GetNext()
  48.    
  49. #Get Unread Inbox Emails
  50. inbox_items = outlook.Folders['Inbox'].Items
  51. unread_inbox_items = inbox_items.Restrict('[UnRead] = true')
  52. unread_inbox_item = unread_inbox_items.GetFirst()
  53. inbox_int = len(unread_inbox_items)
  54.  
  55. while not(unread_inbox_item == None):
  56.     emails['inbox'].append((unread_inbox_item.EntryID,
  57.                             time.ctime(int(unread_inbox_item.SentOn)),
  58.                             unread_inbox_item.SenderName,
  59.                             unread_inbox_item.subject))
  60.     unread_inbox_item = unread_inbox_items.GetNext()
  61.    
  62. eg.globals.emails = emails
  63. eg.globals.emailCount = len(emails['inbox']) + len(emails['validation']) + \
  64.                         len(emails['review']) + len(emails['jira'])
Advertisement
Add Comment
Please, Sign In to add comment