我创建了一个带有几个替换变量的html模板。
将创建的签名模板添加为回复和新消息的签名似乎不会将Outlook视为默认值。
//string signatureName = "Example.htm";
//Set via office-interop new signature as default
//using Microsoft.Office.Interop.Word;
Application app = new Application();
var opt = app.EmailOptions.EmailSignature;
opt.NewMessageSignature = signatureName;
opt.ReplyMessageSignature = signatureName;
app.Quit(); //Also tried WdSaveOptions.wdSaveChanges
Marshal.ReleaseComObject(app);
Outlook显示添加的签名(TEST _...),但不会将其识别为默认签名。相反,它只删除了以前的默认签名,现在没有。
是否需要告诉outlook将其设置为默认值?
答案 0 :(得分:0)
Outlook对象模型不提供任何内容。当然,作为一种解决方法,您可以使用Word对象模型来设置签名,就像在上面的代码中一样:
Application app = new Application();
var opt = app.EmailOptions.EmailSignature;
opt.NewMessageSignature = "Eugene Astafiev";
opt.ReplyMessageSignature = "E.Astafiev";
app.Quit(); //Also tried WdSaveOptions.wdSaveChanges
Marshal.ReleaseComObject(app);
但您需要指定一个真实的HTML标记或代表签名的文本,而不是HTML文档文件名。
无论如何,所有设置都存储在Windows注册表中。有关详细信息,请参阅Set Default Signature outlook。
答案 1 :(得分:0)
显然问题是......非常简单。
string signatureName = "Example.htm";
Outlook / Word需要没有文件扩展名的签名名称。传递" Example
"而不是" Example.htm
"工作