我编写了一个程序,在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")
现在感谢所有的答案! :)
答案 0 :(得分:1)
通过defualt,您可以找到存储在磁盘上以下文件夹中的用户签名:
C:\Users\%username%\AppData\Roaming\Microsoft\Signatures
它可能包含以下文件:
.txt - 创建纯文本邮件时使用此文件。
_files - 此文件夹在Outlook 2007,2010和2013中用于存储签名的支持文件,例如格式,图像和/或名片(vcf文件)。
基本上,您需要在磁盘上读取相应的文件,然后将内容存入邮件项目。
答案 1 :(得分:0)
您可以使用RDOSignature.ApplyTo - 请参阅http://www.dimastr.com/redemption/rdosignature.htm