outlook邮件模板 python自动编辑_在发送邮件之前使用python检测outlook自动响应程序...

您必须使用Outlook's automation interface,或者执行与Outlook相同的操作(大概是通过MAPI或AD),或者对其他API执行相同的操作。在

您可以使用win32com作为这三个选项中的第一个。在

将收件人添加到Outlook的“收件人”列表时,它将获得一个^{}对象,该对象具有一个^{}属性,Outlook将向您显示该对象。在

通过OOM获取Recipient对象的最简单(如果不是最干净的)方法是执行完全相同的操作:创建一个虚拟消息,添加一个收件人,然后查看其属性。项具有^{}对象,该对象有一个Add方法,该方法接受标识符并返回Recipient(当然,还将其添加到项目的收件人)。在

因此,代码应该如下所示(未经测试,因为此处没有连接到Exchange的Windows/Outlook box):session = win32com.client.Dispatch("Mapi.Session")

session.Logon(MY_PROFILE)

outlook = win32com.client.Dispatch("Outlook.Application")

message = outlook.CreateItem(0) # olMailItem

autoresponses = {}

for name in names:

recipient = message.Recipients.Add(name)

autoresponses[name] = recipient.AutoResponse

当然,你可以把它组合成一个简单的听写理解,但我认为这可能更清楚。此外,您可能希望丢弃该邮件,以便Outlook不会将您的剩余垃圾粘贴到草稿或其他内容中,您可能需要进行一些错误处理,并且可能需要为每个收件人使用一个单独的邮件,以便更容易地从错误中恢复并继续,等等……但是,再加上MSDN和win32com文档,就足够让你走了。在

当然,这只在name解析为服务器邮箱时有效;如果只提供本地名称或地址,或者只提供外部地址,则只允许本地通讯簿条目或裸电子邮件条目,这两个条目都没有AutoResponse。但这和《展望》里的完全一样,所以可以想见。在

另外请注意,当您的脚本第一次执行任何试图访问通讯簿的操作时,除非用户故意关闭了默认的安全功能,否则他将看到一个弹出窗口,如“程序正在试图访问存储在Outlook中的电子邮件地址。你允许这样做吗?”在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值