【问题标题】:Sending Outlook mail to multiple distribution lists in Python在 Python 中将 Outlook 邮件发送到多个通讯组列表
【发布时间】:2014-07-26 03:01:34
【问题描述】:

我正在使用 Python 和 win32com.client 将 Outlook 邮件发送到多个分发列表,如下所示:

olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "This is subject"
newMail.To = "abc@company.com"
newMail.CC = "samplegrp1; samplegrp2"   # offending statement
//some html processing in mail content
newMail.Send()

上面的代码可以使用:

newMail.CC = "samplegrp1"

但是当我尝试发送到多个组时(上面的违规语句),我收到以下错误:

>     return self._oleobj_.InvokeTypes(61557, LCID, 1, (24, 0), (),)
pywintypes.com_error: (-2147352567, 'Exception occurred.', (4096, 'Microsoft Out
look', 'Outlook does not recognize one or more names. ', None, 0, -2147467259),
None)

我尝试使用逗号代替分号,使用 + 运算符等,但无济于事。

如果有人可以帮忙,谢谢。

【问题讨论】:

  • newMail.CC = "samplegrp2" 是否有效?

标签: python email outlook win32com


【解决方案1】:

试试这个:

from win32com.client.gencache import EnsureDispatch
from win32com.client import constants

outlook = EnsureDispatch("Outlook.Application")
newMail = outlook.CreateItem(constants.olMailItem)
newMail.Subject = "This is subject"

samplegrp1 = newMail.Recipients.Add("samplegrp1")
samplegrp2 = newMail.Recipients.Add("samplegrp2")
samplegrp1.Type = constants.olCC
samplegrp3.Type = constants.olCC
newMail.Recipients.ResolveAll()

这记录在How to: Specify Different Recipient Types for a Mail Item

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-08
    • 2015-09-29
    • 2016-07-04
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多