问题标签 [managed-ews]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
exchange-server - FindItems() 和 BindToItems() 为 EmailMessage.Sender.Address 提供不一致的结果
经过大量调试后,我将一个复杂的托管 EWS 问题细化为以下两个简单的测试用例。第一个有效,第二个失败:
有人可能会尝试切断BindToItems()
呼叫,并FindItems()
直接使用:
谁能告诉我哪里出错了?从文档看来,这似乎确实可行。并非所有属性都可以读取FindItems()
,这是真的,但是当我尝试访问它们时,这些属性通常会抛出,而且无论如何MSDN 上都有这些属性的列表Sender
,但不在上面。这是怎么回事?
.net - 从 Exchange 中检索按收到的日期时间排序的电子邮件
从 Exchange 邮箱中读取项目时,我想明确指出,它们是按照收到的顺序被提取的(收到的日期时间)——最早在前。
如何指定(在 ItemView 上?)排序值和排序方向?
使用 Exchange 托管 Web 服务。
timezone - 当您使用时区 UTC 调用时,EWS 始终返回 ErrorTimeZone
注意:首先,对不起我的英语水平很差。
当我使用时区 Utc (new ExchangeService (ExchangeVersion.Exchange2007_SP1, TimeZoneInfo.Utc);) 创建 ExchangeService 时,我在客户端环境中对 EWS 的所有请求(使用托管 api)都遇到了问题
返回的错误是:ResposeCode = ErrorTimeZone(找不到指定ID的时区。)
任何想法?
在这里,您有日志跟踪返回此错误的 EWS 请求:
谢谢阅读 :)
exchangewebservices - 检索 Outlook 日历工作时间
我正在使用交换的 Web 服务并想检索用户“工作时间”。工作时间是日历上的设置,有助于计算忙/闲,但我想获取或计算实际值。
我可以完全访问日历。如果我可以使用 EWS 托管 API,那将是我的首选。我已经在网上搜索过,并查看了GetUserAvailability
操作,但我一直无法找到可以给我这些数据的方法。
c# - Exchange 2013 用户应该在哪个角色中能够绑定到其他人的收件箱项目?
我正在编写一个使用 EWS 托管 API 访问 Exchange 2013 SP1 服务器的 .NET 应用程序。现在我有以下问题:我有一个用户能够成功搜索邮箱,但该用户无法根据搜索结果的给定 ID 检索项目(电子邮件)。
因此,我执行搜索ServiceResponseCollection<SearchMailboxesResponse> responseCollection = service.SearchMailboxes(searchMailboxesParameters);
没有任何问题,但如果我从结果中获取唯一 ID 并尝试使用以下代码检索该项目:
我得到以下异常:
Access is denied. Check credentials and try again.
所以,我认为类似于特殊角色赋予的邮箱搜索能力,阅读其他用户电子邮件的能力可以由我现在不知道的特殊角色赋予。
另一方面,如果我手动将阅读的用户分配给“已阅读”用户的邮箱,则该过程可以正常工作,但这无法完成,因为我们谈论的是成千上万的用户和未知数量的用户管理员。
非常感谢您的想法。
c# - “操作会改变对象类型,这是不允许的。” 使用 EWS 托管 API 发送电子邮件时
我正在从 MIME 数据加载现有电子邮件,有时会收到此错误。
例如:
导致此异常发生的 mimeBytes 的标头部分:
其他电子邮件发送成功。这是否意味着 Exchange 不能以这种方式发送多部分/报告电子邮件?
我不确定这是由多部分/报告内容类型引起的,也许这只是一个巧合,但目前我没有其他想法,因为具有其他内容类型(不是交付报告)的电子邮件似乎不会导致此异常。
c# - Folder.WellKnownFolderName 在 EWS 托管 API 和 Exchange 2013 中为空
将 EWS 托管 API 与 Office 365 一起使用(ExchangeVersion.Exchange2013_SP1 配置文件)。为父文件夹调用 Folder.FindFolders 时,我将所有返回的 Folder 对象(包括收件箱等知名文件夹)的 Folder.WellKnownFolderName 值设为 null。.TotalCount 等其他值很好。
MSDN 中的 Folder.WellKnownFolderName 文档指出它应该适用于 Exchange2013 及更高版本,我相信 Office 365 符合此标准。
此外,如果我连接到 Exchange 2010 服务器并设置 ExchangeVersion.Exchange_2010 配置文件,.WellKnownFolderName 会引发异常而不是返回 null(这是预期的行为)。因此(在我的理解中),根据版本,它应该抛出异常或为 Inbox 等知名文件夹返回非空值。
我错过了什么吗?
或者也许我应该使用其他方式来确定系统文件夹,如收件箱、已发送邮件等?
c# - 在 EWS 中,如何将消息的纯文本和 HTML 正文作为保持原始字符编码的字符串
我正在使用 Exchange 2010(不是 Exchange 2013,它允许调用者直接请求纯文本和 HTML 正文)。
为了获得 HTML 正文,我使用了类似的东西:
对于纯文本正文,我得到了正确的字符串表示形式。但是 HTML 正文只给了我字节,我不知道要传递给 GetString 的代码页。目前,UTF-8 的代码页是硬编码的,但这不适用于生产。我需要找出 HTML 部分的代码页,或者找到另一种从消息中提取它的方法。当然,我可以对 EWS 设置 RequestedBodyType = BodyType.HTML 进行单独查询,但我最好不要进行其他查询。我认为 PR_INTERNET_CPID MAPI 属性 (0x3FDE) 将满足我的需求,但它从未填充(我仔细检查了它是否存在于邮件服务器上,但我无法通过 EWS 获取它)。
所以我需要说服托管 EWS 库将 HTML 和纯文本作为字符串返回,或者让我获得 PR_INTERNET_CPID 值。我能为此做些什么?
c# - 无法通过 Office 365 EWS 获取 PidTagBody (0x1000) 值
EWS 永远不会返回 PR_BODY(使用 Office 365 服务器)
服务器响应中没有正文 (0x1000) 值。同时,如果我改变
至
我开始收到异常,响应代码是 ErrorInvalidExtendedProperty。如果我传递 EWS 不知道的属性 ID(如 0x1990),则不会发生这种情况。因此,EWS 了解 0x1000 应该具有哪种类型,但在类型正确时仍然不返回任何内容。
顺便说一句,这适用于 PR_BODY_HTML:
实际上,我可以使用以下代码获取纯文本正文
或与:
但我想知道为什么它不能通过扩展属性工作(同时这适用于 HTML 正文)。
最后,在我的本地 Exchange 2010 服务器上尝试相同的操作时,我发现 PR_BODY 被返回就好了。这是 Office 365 服务的错误吗?
c# - 在使用 Exchange Web 服务的会议上花费的时间
我试图找出我们作为一个部门(约 100 人)在会议上花费了多少时间。为简单起见,我们可以将所有繁忙时间视为会议时间。但是我不知道该怎么做,我希望有人有想法