我们使用 Exchange Web 服务在 Outlook Web Access 中设置用户签名。效果很好,我们在“选项”>“设置”下看到了签名,并且选中了“在我发送的消息中自动包含我的签名”复选框。我们还以编程方式进行设置。
但是,当用户在 OWA 中创建新电子邮件时,签名不会显示。解决此问题的方法是转到“选项”>“设置”,取消选中“在我发送的消息中自动包含我的签名”复选框,保存,再次选中该复选框并保存。
我们用来设置签名的代码如下所示:
Folder rootFolder;
UserConfiguration OWAConfig;
rootFolder = Folder.Bind(service, WellKnownFolderName.Root);
OWAConfig = UserConfiguration.Bind(service, "OWA.UserOptions",rootFolder.ParentFolderId, UserConfigurationProperties.All);
OWAConfig.Dictionary["signaturehtml"] = "Hello World";
OWAConfig.Dictionary["autoaddsignature"] = "True";
OWAConfig.Update();
知道如何解决这个问题吗?
最佳答案
我有一些旧代码可以做同样的事情并且工作正常。我已经粘贴了下面的代码。我的代码和您的代码之间存在一些细微差别。我不确定它们是否有所作为,但您可能想尝试一下。这是我的代码的摘录,其中用注释突出显示了不同之处:
private void SetSettingValue(UserConfiguration owaConfig, string propName, object propValue)
{
if (owaConfig.Dictionary.ContainsKey(propName))
{
owaConfig.Dictionary[propName] = propValue;
}
else
{
// Adds a key if it does not explicitly exist.
// I am not sure if it makes a difference.
owaConfig.Dictionary.Add(propName, propValue);
}
}
public void AddSignature()
{
// Extract
UserConfiguration OWAConfig = UserConfiguration.Bind(
service,
"OWA.UserOptions",
WellKnownFolderName.Root, // Binding to Root and not Root.ParentFolderId.
UserConfigurationProperties.Dictionary // Binds to Dictionary and not to All.
);
SetSettingValue(OWAConfig, "autoaddsignature", true);
SetSettingValue(OWAConfig, "signaturehtml", html);
OWAConfig.Update();
}
关于exchangewebservices - 使用 Exchange Web 服务的 OWA 签名更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271923/