处理Python中的Outlook发送事件

时间:2015-06-18 21:25:53

标签: python outlook win32com

我正在尝试使用以下Python代码通过Outlook服务器发送电子邮件但是我弹出一个指示“程序正在尝试代表您发送电子邮件。如果这是意外的,请单击拒绝并验证您的防病毒软件是最新的。“我知道这可以在Outlook设置中禁用,但我无法访问,因为我没有管理员访问权限。我的问题我有没有办法通过python以编程方式处理/避免这个?我也知道这可以通过使用smtplib来避免,但是我无法通过它连接到我的服务器,因此它也不是解决方案。

谢谢!

import win32com.client
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "Test Subject"
newMail.Body = "Test Body"
newMail.To = "Mail@place.com"
newMail.Send()

2 个答案:

答案 0 :(得分:0)

最终用户无法禁用此功能。如果您的系统上有最新的防病毒应用程序,则不会显示提示。 如果您无法控制用户环境,则会在http://www.outlookcode.com/article.aspx?id=52

列出您的选项

基本上在PHP中,您只能使用RedemptionOutlook Security ManagerClickYes

答案 1 :(得分:0)

从Outlook对象模型调用不安全的函数时,会得到标准的安全提示。构建Outlook的低级API(扩展MAPI)不会生成此类提示。 Redemption库也是基于该API构建的。因此,您需要使用Redemption的对象而不是OOM(现有代码)。

要保留现有代码,您需要使用专为此类任务设计的Outlook security manager组件,并且不需要更改或重写现有代码。

ClickYes组件允许以编程方式单击“安全性”对话框上的按钮,我认为这是最好的方法。窗口可以与其他应用程序重叠。