【发布时间】:2019-09-06 08:11:51
【问题描述】:
我正在为 Exchange 和另一个业务应用程序之间的约会设置双向同步服务。因为我之前有一个旧服务,所以我想删除 Exchange 中的所有旧约会,但并非所有约会都可以这样做。
每次调试时,我可以删除的约会都有appointment.Organizer.RoutingType 填充“SMTP”,appointment.Organizer.Address 填充电子邮件地址。其他的有 appointment.Organizer.RoutingType 填充“EX”和 appointment.Organizer.Address 有类似的东西:
/O=HOSTING/OU=EXCHANGE 管理组 FYDIBOHF23SYZLT)/CN=RECIPIENTS/CN=E373428996
do
{
itemChangeCollection = service.SyncFolderItems(new FolderId(WellKnownFolderName.Calendar), propertySet, null, 512, SyncFolderItemsScope.NormalItems, syncState);
foreach (ItemChange itemChange in itemChangeCollection)
{
try
{
if (itemChange.ChangeType != ChangeType.Delete)
{
Appointment app = Appointment.Bind(service, itemChange.ItemId, propertySet);
app.Delete(DeleteMode.MoveToDeletedItems);
}
}
catch (Exception ex)
{
}
}
syncState = itemChangeCollection.SyncState;
} while (itemChangeCollection.MoreChangesAvailable);
删除行中出现的错误如下 Microsoft.Exchange.WebServices.Data.ServiceResponseException: '用于提交此请求的用户帐户无权代表指定的发送帐户发送邮件。'
问题不仅是无法删除,而且我的同步逻辑中还需要组织者的电子邮件地址。这里有谁知道为什么有时有 SMTP 有时有 EX?
【问题讨论】: