我正在尝试自动从Python发送附件和电子邮件:
def Emailer(text, subject, recipient):
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = recipient
mail.Subject = subject
mail.HtmlBody = text
mail.Display(True)
attachment = 'C:/Users/.../file.pdf'
mail.Attachments.Add(attachment)
Emailer('text', 'test', 'name@mail.com')
但是,这不会添加附件。路径应该是正确的,因为当我在下面尝试时,它会起作用:
import win32com.client as win32
mail = win32.Dispatch('outlook.application').CreateItem(0)
mail.To = 'name@mail.com'
mail.Subject = 'test'
mail.HTMLBody = 'text'
attachment = 'C:/Users/.../file.pdf'
mail.Attachments.Add(attachment)
mail.Display(True)
任何人都知道我的Emailer()
做错了什么
答案 0 :(得分:1)
在Emailer中,您在添加附件之前先致电Display(True)
,然后在“工作”摘要中致电。根据{{3}} Emailer
创建了一个模式窗口,这也可能是一个阻塞调用,这意味着Display
将停止运行,直到您关闭该窗口。
建议您在添加附件后将呼叫移至<mat-toolbar color="primary">
,或者尝试打开非模式窗口。
偶然地,根据上面链接的文档,不推荐使用Display。