2016-09-07 79 views
0

以下是我的代码。下载过去30天内收到的所有附件

import win32com.client,datetime 

outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") 
inbox = outlook.GetDefaultFolder(6).Folders('Paper & CD') 
messages = inbox.Items 
date_now = datetime.datetime.now().date() 
date_before = (datetime.datetime.now() + datetime.timedelta(-30)).date() 
for msg in messages:   
    for att in msg.Attachments: 
     if att.FileName == 'list.csv': 
      att.SaveAsFile('C:\\My\\temp\\' + msg.subject + att.FileName) 
     att.SaveAsFile('C:\\My\\temp\\' + att.FileName) 

它从特定文件夹下载所有附件。

我只需要下载不超过30天的附件。

我试过msg.LastModificationTime,但它给出了上次修改邮件的时间。

我想知道每封邮件的收到日期,所以我可以将其与当前日期进行比较。

回答

0

使用Items.RestrictItems.Find/FindNext与基于ReceivedTime属性的限制。

相关问题