使用Python通过Outlook发送重要邮件

2024-04-28 12:07:33 发布

您现在位置:Python中文网/ 问答频道 /正文

使用win32com.客户端包,我可以通过Python使用outlook发送HTML电子邮件。然而,我很难弄清楚如何将电子邮件标记为“高优先级”或“高度重要性”。在

以下是我用来成功发送电子邮件的代码(没有优先级标记):

RTFTEMPLATE = """<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Dus-ascii">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
08.00.0681.000">
<TITLE>%s</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=3DLTR><SPAN LANG=3D"en-us"><FONT =
FACE="Times New Roman">
%s
</FONT></SPAN><SPAN =
LANG=3D"en-us"></SPAN></P>
<br>
%s
</BODY>
</HTML>"""

Format = { 'UNSPECIFIED' : 0, 'PLAIN' : 1, 'HTML' : 2, 'RTF'  : 3}
profile = "Outlook"


#session = win32com.client.Dispatch("Mapi.Session")
outlook = win32com.client.Dispatch("Outlook.Application")
#session.Logon(profile)
mainMsg = outlook.CreateItem(0)
mainMsg.To = "RECIPIENT"
mainMsg.Subject = subject
mainMsg.BodyFormat = Format['RTF']
mainMsg.HTMLBody = RTFTEMPLATE % (subject,html,bad_table)
mainMsg.Send()

Tags: text标记title电子邮件htmlbodycontenthead
3条回答

尝试设置这些附加的标题

X-Priority: 1 (Highest)
X-MSMail-Priority: High
Importance: High

代码示例和讨论请参见http://www.chilkatsoft.com/p/p_471.asp。在

您正在通过COMOutlook Object Model创建消息。这个模型是完全文档化的,在这样的情况下这可能是一个很大的帮助。在

例如,您正在创建的MailItem被记录为here。从该页可以看出,它有一个属性Importance,可以将该属性设置为2(olImportanceHigh)以将消息标记为“highimportance”。在

在代码中

mainMsg.Importance = 2

若要标记邮件,以便Outlook将其识别为“高优先级”,请在邮件标题中添加以下行:

X-Priority: 1

但是,我不能告诉您如何通过您正在使用的组件向消息头添加行。在

相关问题 更多 >