<p>请帮助一个python初学者走出困境!我会非常感激的</p>
<p>我正在尝试自动过滤收件箱中的电子邮件,并将其保存为指定文件夹中的文本文档。我可以将文件夹中的电子邮件保存为.msg没有问题,但是,当我尝试将其保存为.txt文件时,它要么a)在删除“olTXT”时无法正常打开,要么b)在添加“olTXT”时抛出以下错误:</p>
<pre><code>line 19, in <module>
message.SaveAs(os.getcwd()+'//'+name, olTXT)
NameError: name 'olTXT' is not defined
</code></pre>
<p>我使用<a href="https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.saveas" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.saveas</a>作为我的参考</p>
<p>这就是我到目前为止所做的:</p>
<pre><code>import win32com.client
from win32com.client import Dispatch
import os
import re
outlook = Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)
messages = inbox.items
message = messages.GetFirst()
report_subject = "Tech Report"
for message in messages:
if message.subject[0:11] == report_subject:
name = str(message.subject)
#to eliminate any special charecters in the name
name = re.sub('[^A-Za-z0-9]+', '', name)+'.txt'
#to save in the current working directory
message.SaveAs(os.getcwd()+'//'+name, olTXT)
</code></pre>