这是我的第一个问题,所以我希望没问题。
我正在尝试使用带有Outlook 2010的win32com发送带有附件的电子邮件。然后它会发送电子邮件。但它没有发送附件。我将我的代码基于此处给出的示例。
def email_tamplate(*args):
Format = { 'UNSPECIFIED' : 0, 'PLAIN' : 1, 'HTML' : 2, 'RTF' : 3}
profile = "Outlook"
#session = win32com.client.Dispatch("Mapi.Session")
outlook = win32com.client.Dispatch("Outlook.Application")
#session.Logon(profile)
mainMsg = outlook.CreateItem(0)
mainMsg.To = str(login_entry.get())+"@amazon.com"
mainMsg.Subject = "Sauron personal report request between "+str(start_date.get())+" and "+str(end_date.get())
mainMsg.BodyFormat = Format['RTF']
mainMsg.HTMLBody = body
try:
attachment1= ('C:\\Users\\' + str(login_entry.get()) + '\\My Documents\\status_email.csv')
mainMsg.Attachments.Add(attachment1)
except:
pass
mainMsg.Send()
以下是我不使用Try / except:
时收到的错误消息Tkinter回调中的异常 Traceback(最近一次调用最后一次): 文件“C:\ Python33 \ lib \ tkinter__init __。py”,第1475行,调用 return self.func(* args) status_email中的文件“C:\ Users \ alvaros \ Dev \ Sauron \ v2 \ Sauron v2.2.1.py”,第478行 email_tamplate() 在电子邮件_tamplate中输入文件“C:\ Users \ alvaros \ Dev \ Sauron \ v2 \ Sauron v2.2.1.py”,第424行 mainMsg.Attachments.Add(附件1) 添加文件“>”,第3行 pywintypes.com_error:(-2147352567,'异常发生。',(4096,'Microsoft Outlook',“您没有相应的权限来执行此操作。”,无,0,-2147024891),无)
除了不发送附件外,一切正常。附件的路径是正确的,文件在那里。
谢谢。
答案 0 :(得分:1)
您可能必须以管理员身份运行程序,或者如果该程序不起作用,则[在此处输入链接描述] [1]您可能需要使用"扩展MAPI"让这个工作:
另一方面,这个主题讨论了编辑PST文件本身的属性或在Windows注册表中编辑其属性:
答案 1 :(得分:0)
这已经解决了。 感谢您的帮助。 这可能是一个缩进问题。因为它基本上是自己解决的。