如何遍历电子邮件及其附件 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:
我正在尝试查找发送给特定人员的所有电子邮件('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: