【发布时间】:2020-05-01 23:05:22
【问题描述】:
我正在使用以下代码使用 python 发送带有附件的电子邮件。我使用 Outlook 应用程序 itelt(不是通过后端)
from time import sleep
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = "EMAIL ADDRESS"
mail.Subject = "Subject"
mail.HtmlBody = "HTML Body"
mail.Attachments.Add("folderName\\output.zip")
mail.Display(True)
sleep(1)
mail.Send()
在 mail.Display(True) 行之前它工作正常。我可以看到打开的 Outlook 新邮件窗口,其中输入了所有内容并附加了文件。但是下一条语句 mail.send() 给出错误:
Traceback (most recent call last): File "C:/Users/username/PycharmProjects/001.PySelenium/win32email.py", line 16, in <module>
mail.send() File "C:\Users\username\PycharmProjects\001.PySelenium\venv\lib\site-packages\win32com\client\dynamic.py", line 516, in __getattr__
ret = self._oleobj_.Invoke(retEntry.dispid,0,invoke_type,1) pywintypes.com_error: (-2147467260, 'Operation aborted', None, None)
调试截图:
【问题讨论】:
-
从显示中移除true,为什么显示?你可以删除所有,只使用 mail.send()
-
根据 'Strive' 给出的答案进行了尝试,但没有奏效。
-
pywin32更新了吗?
-
我有最新版本 227
-
我在问题上添加了截图