【发布时间】:2022-02-27 23:18:12
【问题描述】:
我正在尝试从 Outlook 自动将电子邮件保存在我们的文件夹中。我没有看到将电子邮件另存为 .msg 或任何其他类型的代码。
import win32com.client
import os
os.chdir("filepathhere")
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
accounts= win32com.client.Dispatch("Outlook.Application").Session.Accounts;
Tokyo = "email from Tokyo"
inbox = outlook.GetDefaultFolder(6)
subject = Tokyo
messages = inbox.Items
message = messages.GetFirst()
for msg in messages:
if msg.subject == Tokyo:
msgname = msg.subject
msgname=str(msgname)
print msgname
message.saveasfile(msgname+".msg")
我收到错误消息: 属性错误:.saveasfile
【问题讨论】:
-
如果你想保存你在循环中的消息,你的最后一行应该是
msg.saveasfile()。这有帮助吗?我对 win32com 包不熟悉。 -
我仍然收到错误消息:AttributeError:
.saveasfile -
你从哪里得到的
saveasfile?您是否只是在猜测对象可能提供哪些方法并交叉手指?在 MSDN 文档中查找类型。 -
saveasfile() 是我见过的人们用来保存电子邮件附件的方法。我一直没能找到正确的命令
-
首先,你在哪里看到的?如果你给我们一个链接,我们可以检查你是否真的和他们做同样的事情。其次,您不是在尝试保存附件,而是在尝试保存消息。这些显然将是不同的类型,那么您为什么假设它们将具有相同的方法?