Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python win32com不发送附件_Python_Win32com - Fatal编程技术网

Python win32com不发送附件

Python win32com不发送附件,python,win32com,Python,Win32com,这是我的第一个问题,所以我希望可以 我正在尝试使用win32com和Outlook 2010发送一封带有Python附件的电子邮件。它会发送电子邮件。但它并没有发送附件。我在这里给出的示例中基于我的代码 def email_tamplate(*args): Format = { 'UNSPECIFIED' : 0, 'PLAIN' : 1, 'HTML' : 2, 'RTF' : 3} profile = "Outlook" #session = win32com.client.D

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

我正在尝试使用win32com和Outlook 2010发送一封带有Python附件的电子邮件。它会发送电子邮件。但它并没有发送附件。我在这里给出的示例中基于我的代码

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回调中的异常 回溯(最近一次呼叫最后一次): 文件“C:\Python33\lib\tkinter\uuuu init\uuuuu.py”,第1475行,在调用中 返回self.func(*args) 文件“C:\Users\alvaros\Dev\Sauron\v2\Sauron v2.2.1.py”,第478行,状态电子邮件 电子邮件_tamplate() 文件“C:\Users\alvaros\Dev\Sauron\v2\Sauron v2.2.1.py”,第424行,在电子邮件中 mainMsg.Attachments.Add(附件1) 文件“>”,第3行,添加 pywintypes.com_错误:(-2147352567,‘发生异常’,(4096,‘Microsoft Outlook’,“您没有执行此操作的适当权限。”,无,0,-2147024891),无)

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


谢谢。

您可能必须以管理员身份运行该程序,或者如果该程序不起作用,则[在此处输入链接说明][1]您可能需要使用“扩展MAPI”来实现此功能:

另一方面,此线程讨论了编辑PST文件本身的属性或在Windows注册表中编辑其属性:


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

      删除try/except,看看是否有错误。如果你是,在问题中写下例外。我刚刚写了。谢谢。如果您添加一行
      print“attachment exists:”,os.path.exists(attachment1)
      它是否打印为真?如果您尝试附加一个纯文本文件会怎么样?输入该行时它不会打印任何内容。附加纯文本文件时也会出现同样的错误。谢谢。我尝试作为管理员,它给我另一个错误,服务器执行失败。我还尝试了您提供的链接中所述的扩展MAPI。并且仍然会得到错误:(-2147024809,'参数不正确',无,无)