簡體   English   中英

如何使用Python腳本在Outlook中提取收到的電子郵件的日期?

[英]How to extract the date of the received emails in Outlook using Python scripting?

我是Python的新手,我開發了Python腳本來在名為Spark的應用程序中ping消息。 到目前為止,代碼還不錯,我設法生成了電子郵件的主題。 但是,我也想添加收到電子郵件的日期以及主題。 這是腳本:-

import win32com.client
import requests
import time
import datetime
def postMessageInSpark(mytoken, roomId, text):
    header = {'Authorization':mytoken, 'Content-Type':'application/json'}
    payload = {'roomId':roomId,'text':text}
    result = requests.post(url='https://api.ciscospark.com/v1/messages',headers=header,json=payload)
    print(str(result.status_code))
    return str(result.status_code)
token ="Bearer "+'OGU3MDcyMmYtZDUzYS00OWU4LTk0ZTItYTJlNTc1OTUzODA5ZmQzYmRkNjMtYzcy'
teamId='Y2lzY29zcGFyazovL3VzL1JPT00vNGZjYWI5NzAtZGNhMS0xMWU2LWE3ODItYTM1OTY2OWNkMzcx'
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
folders = inbox.Folders
for folder in folders:
 if (folder.Name == 'TES FOLDER'):
  items = folder.Items
  for item in items:
   subject=item.Subject
   message=item.GetLast()
   date=message.senton.date()  
   for idx in reversed(items):
    fail_msg=subject+date
    postMessageInSpark(token,teamId,fail_msg)
    break

我使用date=message.senton.date()但它沒有返回電子郵件日期。 請幫我。

嗨,我找到了解決我的問題的方法:

import win32com.client
import requests
import time
import datetime
def postMessageInSpark(mytoken, roomId, text):
    header = {'Authorization':mytoken, 'Content-Type':'application/json'}
    payload = {'roomId':roomId,'text':text}
    result = requests.post(url='https://api.ciscospark.com/v1/messages',headers=header,json=payload)
    print(str(result.status_code))
    return str(result.status_code)
token ="Bearer "+'OGU3MDcyMmYtZDUzYS00OWU4LTk0ZTItYTJlNTc1OTUzODA5ZmQzYmRkNjMtYzcy'
teamId='Y2lzY29zcGFyazovL3VzL1JPT00vNGZjYWI5NzAtZGNhMS0xMWU2LWE3ODItYTM1OTY2OWNkMzcx'
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
folders = inbox.Folders
for folder in folders:
 if (folder.Name == 'TES FOLDER'):
  items = folder.Items
  for item in reversed(items):
   subject=item.Subject
   date = item.SentOn.strftime("%d-%m-%y")
   for idx in reversed(items):
    fail_msg=subject+" at "+date
    postMessageInSpark(token,teamId,fail_msg)
    idx.Move(inbox.Folders("TEST"))
    break

實際上, message=item.GetLast()date=message.senton.date()僅給了我上一封收到的電子郵件的輸出。 但是在我使用date = item.SentOn.strftime("%d-%m-%y")它給了我所需的輸出。

MailItem對象沒有名為GetLast的方法。 只有Items對象可以。 您是要使用item.SentOn屬性嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM