我正试图确定这个问题是从哪里来的。绝大多数电子邮件都能够正确处理,不会出现任何错误。我到处寻找这个错误,我看到人们对outlook有问题,但不仅仅是从PST文件中提取
def enumerate_folders(FolderObj, mymode):
for ChildFolder in FolderObj.Folders:
enumerate_folders(ChildFolder, mymode)
iterate_messages(FolderObj, mymode)
def iterate_messages(FolderObj, mymode):
global mycounter2
for item in FolderObj.Items:
try:
body_content = item.HTMLbody
writeToFile(body_content, mypath)
mycounter2 = mycounter2 + 1
except AttributeError:
pass
def writeToFile(messageHTML, path):
global mycounter2
filename = '\htmloutput' + str(mycounter2) + '.html'
file = open(path + filename, "x")
try:
file.write(messageHTML)
except UnicodeEncodeError:
altText = str(messageHTML.encode('ascii', 'ignore'))
file.write(altText)
#print("Hit unicode error, trying alternate format at output " + str(mycounter2))
outlook.AddStore(pst)
PSTFolderObj = find_pst_folder(outlook, pst)
try:
enumerate_folders(PSTFolderObj, whatmode)
except Exception as exc:
print(exc)
问题与用户Outlook加密证书有关,而与代码无关。这个问题源于一个用户最近更换了计算机,并且不再在计算机上拥有加密电子邮件的证书
当我在自己的Outlook中解包PST时,我发现了问题所在,并收到了与通过代码运行PST时完全相同的异常。这让我问他们是否能够在自己的Outlook实例中打开电子邮件,而他们却不能。然后他们解释说,他们最近换了电脑,电脑上不再有证书
一旦他们重新添加证书并再次导出PST,我们就能够通过应用程序成功地运行它
相关问题 更多 >
编程相关推荐