如何遍历电子邮件及其附件 Python win32

How to iterate through emails and their attachments Python win32

我正在尝试查找发送给特定人员的所有电子邮件('Andrew' 用于演示目的),然后在每封邮件中查找其名称中包含字符串的附件(有多个附件添加到每封邮件)。

代码如下:

peopleInitials = ['XXX','YYY', 'ZZZ']
checkText = 'Andrew'
listalen = len(peopleInitials)

for message in messages:
     k = 0
     currentText = message.To     
     if checkText in currentText:
          for att in message.Attachments:
               attachmentName = att.FileName
               while k < listalen:
                    if peopleInitials[k] in attachmentName:
                         print('Atachment exists')
                         print(attachmentNames)
                    else: 
                         print('Attachment does not exist')
                         print(attachmentNames)
                    k = k + 1

它部分工作 - 它遍历电子邮件,当它找到一封发给 Andrew 的邮件时,它会检查附件名称是否包含 'XXX'、'YYY' 或“ZZZ”。但是,它只检查每封电子邮件的一个附件,不会遍历所有附件。我究竟做错了什么?非常感谢

使用 Outlook2016、Python3.7 和 win32com

事实证明,脚本确实遍历了所有附件,但在检查了第一个文件后

k = listalen 

所以它不检查其他文件。它适用于每个第一个附件,因为当脚本接受另一条消息时 k 设置为 0。所以我唯一要做的就是添加:

k = 0

之前:

while k < listalen: