如何使用EWS Managed API从OWA/Outlook 365获取电子邮件签名



我在c#中使用EWS (Exchange Web Services) Managed API访问电子邮件签名时遇到问题。到目前为止,我在Main方法中编写了以下代码:

ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;
ExchangeService service = new ExchangeService
{
Credentials = new WebCredentials(mail, password)
};
service.UseDefaultCredentials = false;
service.AutodiscoverUrl(mail, RedirectionUrlValidationCallback);
//CertificateValidationCallBack and RedirectionUrlValidationCallback 
//methods are declared in other place;
//I literally took them from Microsoft site
var OWAConfig = UserConfiguration.Bind(service, "OWA.UserOptions", WellKnownFolderName.Root,
UserConfigurationProperties.All);

这段代码可以工作,但是,据我所知,OWAConfig应该包含来自OWA/Outlook 365的所有设置-但它没有。OWAConfig变量有一个名为Dictionary的属性(应该如此),它有16个条目(例如:键为"ClientTypeOptInState"值为2的条目,键为"IsFocusedInboxEnabled"值为true的条目等)。但是据我所知,它没有我最感兴趣的东西——电子邮件签名。

如何访问OWA/Outlook 365设置中配置的电子邮件签名?我应该改变Bind方法吗?"OWA.UserOptions"参数正确吗?它没有签名吗?或者有,只是我找不到?请帮帮我。

随着https://office365itpros.com/2020/05/18/roaming-signatures-outlook-for-windows/新特性的引入,签名不再存储在该配置项中。目前微软还没有发布一个API来管理这些签名数据,如果你看看OWA正在做什么,比如fiddler,它称之为PATCH https://outlook.office.com/ows/beta/OutlookCloudSettings/settings,所以在它成为第三方可以使用的生产API之前可能还需要一点时间。

最新更新