win32com没有发送附件

时间:2014-07-14 19:46:00

标签: python win32com

这是我的第一个问题,所以我希望没问题。

我正在尝试使用带有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),无)

除了不发送附件外,一切正常。附件的路径是正确的,文件在那里。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可能必须以管理员身份运行程序,或者如果该程序不起作用,则[在此处输入链接描述] [1]您可能需要使用"扩展MAPI"让这个工作:

另一方面,这个主题讨论了编辑PST文件本身的属性或在Windows注册表中编辑其属性:

答案 1 :(得分:0)

这已经解决了。 感谢您的帮助。 这可能是一个缩进问题。因为它基本上是自己解决的。