Questions tagged «exchange-server»

9
使用C#阅读MS Exchange电子邮件
我需要能够监视和读取MS Exchange Server(我公司内部)上特定邮箱的电子邮件。我还需要能够阅读发件人的电子邮件地址,主题,邮件正文并下载附件(如果有)。 使用C#(或VB.NET)执行此操作的最佳方法是什么?

1
EWS API-重新创建通知订阅时出错
使用Office 365日历文件夹的强制订阅ErrorReadEventsFailed时,SendNotification请求中收到很多消息。此错误实质上意味着无法再找到订阅,并且服务器不应再期望新的通知。 检查Microsoft推荐的错误处理,解决方案是使用自动发现来重新发现ExternalEwsUrl或EwsPartnerUrl,并创建一个新的订阅。 使用Office365,结合使用OAuth2服务帐户似乎几乎无法实现自动发现服务,因此我一直在使用它https://outlook.office365.com/EWS/Exchange.asmx作为EWS的主要端点。 但是,当我尝试为特定的日历文件夹创建新的订阅时,总是出现一般500 ErrorNoRespondingCASInDestinationSite错误: Exchange Web服务当前不适用于此请求,因为目标站点中的所有客户端访问服务器都无法处理该请求。 奇怪的是,这仅在收到初始ErrorReadEventsFailed错误后立即发生。如果我再尝试30秒,请求将顺利通过。 经过研究后,似乎大多数用户发现确保X-AnchorMailbox为服务帐户希望模拟的用户正确设置标题是有帮助的。我仔细检查了此标头,它确实是在重新订阅请求中发送的。 此问题可以通过指数退避解决方案解决,也可以仅重试X次直到请求通过为止。在我看来,当订阅“丢失”时,O365服务需要时间来更改Exchange服务器的DNS(这是我唯一能想到的)。 任何帮助将不胜感激!

1
检索显示异常行为的日历项(Outlook API,WebDAV)
我们正在编写一个MS Outlook插件。为了满足我们的业务逻辑,它应该检查某些日期之间的所有约会。从日历中检索所有项目时,我们遇到了一些问题。我们尝试了两种选择: Outlook API。我们使用MSDN中描述的标准逻辑-按[开始]对项目进行排序,设置IncludeRecurrences为True并运行对日历项目的Find \ Restrict查询,例如此处。在我们的测试环境中,它运作良好。但是,在我们客户的环境中:对于定期约会,开始日期和结束日期设置为“主约会”的相应日期。例如,在某个房间的日历中,我们有一个在1月创建的每周约会,如果我们尝试查找8月的所有项目,则除此定期约会外,我们还有其他4个项目,但它们的开始日期和结束日期设置为1月。 。但是Outlook在同一日历中显示正确的日期... 非常糟糕,但是我们仍然有WebDAV!我们编写了一个简单的测试应用程序,并尝试使用WebDAV查询日历中的所有项目。当然,我们并没有重新发明轮子,只是从文档中粘贴了代码。前一个问题已解决,但下一个问题出现了:它不会返回大约六个月前创建的重复项目。我不知道-没有参数限制“旧”物品! 怎么了?我们缺少重要的东西吗? 技术详细信息:Exchange 2003,Outlook 2003-2010。坦白说,如果打开“缓存Exchange模式”,第一个错误就会消失,但是我们不能这样做。 var nameSpace = application.GetNamespace("MAPI"); var recepient = nameSpace.CreateRecipient(roomEMail); recepient.Resolve(); var calendar = nameSpace.GetSharedDefaultFolder(recepient, OlDefaultFolders.olFolderCalendar); var filter = string.Format("[Start]<'{1}' AND [End]>'{0}'", dateFrom.ToString("dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture), dateTo.ToString("dd/MM/yyyy HH:mm", CultureInfo.InvariantCulture) ); var allItems = calendar.Items; allItems.Sort("[Start]"); allItems.IncludeRecurrences = true; var _item = …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.