2

我编写了一个程序,可以在 Outlook 中创建邮件并将其保存为 .msg 格式。我想在 HTMLBody 的末尾添加发送邮件的用户(即当前帐户用户)的签名。到目前为止,我还没有找到任何东西。

任何帮助,将不胜感激。这是我的代码的一个简单示例:

win32com.client.gencache.EnsureDispatch("Outlook.Application")
session = win32com.client.Dispatch("Redemption.RDOSession")
session.Logon("Outlook")
signatures = session.Signatures
msg = session.GetMessageFromMsgFile(r"test.msg")
msg.Subject = "test subject"
msg.HTMLBody ="<html><body> <b> this is a body</b></body></html>"
signatures.Item(1).ApplyTo(msg, False)
msg.SaveAs("file.msg")

现在可以使用了,感谢所有答案!:)

4

2 回答 2

1

默认情况下,您可以找到存储在磁盘上以下文件夹中的用户签名:

 C:\Users\%username%\AppData\Roaming\Microsoft\Signatures

它可能包含以下文件:

  • .htm - 创建 HTML 消息时使用此文件。
  • .rtf - 创建富文本消息时使用此文件。
  • .txt - 创建纯文本消息时使用此文件。

  • _files - 此文件夹在 Outlook 2007、2010 和 2013 中用于存储您的签名支持文件,例如格式、图像和/或名片(vcf 文件)。

基本上,您需要读取磁盘上的适当文件,然后将内容插入邮件项目。

于 2016-09-06T14:20:06.013 回答
0

您可以使用 RDOSignature.ApplyTo - 请参阅http://www.dimastr.com/redemption/rdosignature.htm

于 2016-09-06T15:09:24.300 回答