草庐IT

c# - EWS 托管 API 查找具有 ItemID 的项目

我正在尝试根据项目的唯一ID从已删除项目文件夹中查找项目ItemIdid=newItemId("zTK6edxaI9sb6AAAQKqWHAAA");SearchFilter.IsEqualTofilter=newSearchFilter.IsEqualTo(ItemSchema.Id,id);ItemViewview=newItemView(10);view.PropertySet=newPropertySet(BasePropertySet.FirstClassProperties,EmailMessageSchema.Subject);FindItemsResultsresult

c# - 通过 EWS API 连接到 Office 365

我在控制台应用程序中使用EWSAPI来处理邮箱项目,我的连接脚本如下所示ExchangeServiceservice=newExchangeService(ExchangeVersion.Exchange2007_SP1);service.UseDefaultCredentials=true;service.AutodiscoverUrl("emailService@domain.com");但我发现我的电子邮件帐户已移至Office365云。我应该如何更改身份验证?我找到了EWS服务urlservice.Url=newUri("https://outlook.office365.co

c# - Exchange Web 服务 (EWS) 在所有文件夹中查找项目

我正在使用以下代码查找用户发送的所有电子邮件,但这只搜索主收件箱文件夹,不检查任何子文件夹。我想搜索所有邮件项目,包括任何子文件夹。我已经尝试过WellKnownFolderName.Root和WellKnownFolderName.Inbox,它们只搜索那些文件夹,而不是子文件夹。privatestaticvoidSearchItems(stringemail){ItemViewiv=newItemView(10);FindItemsResultsfiitems=_service.FindItems(WellKnownFolderName.Inbox,"from:username@e

php - 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

在我的PHP脚本中,我需要弄清楚如何检索在指定消息ID之后或特定日期之后的所有电子邮件(两者都可以,我只需要检索自上次我访问以来的新电子邮件抓取了收件箱)。此收件箱每天收到数千封电子邮件,而我在30天内无法删除任何电子邮件。对于初始导入,我只是从收件箱的开头开始进行偏移,但显然一旦我们开始清理电子邮件,这将不起作用。我认为我必须设置类“EWSType_FindItemType”的$Restriction属性,但我认为php-ews中不存在必要的类让我这样做。我尝试自己添加它们,但我对EWS或SOAP了解不够。到目前为止,我唯一想出的是:$Request->Restriction=new

PHP-EWS 处理多个附件失败

我使用JamesArmes'sPHP-EWSlibrary.以下代码对单个附件工作正常,但对多个文件无效。MessageDisposition='SaveOnly';$msgResponse=$ews->CreateItem($msgRequest);$msgResponseItems=$msgResponse->ResponseMessages->CreateItemResponseMessage->Items;//Createattachment(s)$attachments=array();$i=0;foreach($message_details['attachment']as

PHP-EWS - 订阅/推送通知 - 完整示例

经过令人沮丧的两天后,我放弃了。我有一台带有Win2012R2+Exchange2013(Trailversion)的虚拟机“admx”和一台带有IIS-Webserver+PHP的虚拟机“webserver”。创建一个新的订阅-sub.php:StatusFrequency=$keepAliveFrequency;$pushSubscription->URL=$url;$folderIDs=newEWSType_NonEmptyArrayOfBaseFolderIdsType();$eventTypes=newEWSType_NonEmptyArrayOfNotificationEv

php - 使用 PHP EWS 更新联系人物理地址

我正忙着编写一些代码,通过PHPEWS更新Microsoft交换服务器上的物理地址;但对于我的生活,我不太明白如何更新物理地址,我可以更新除此之外的所有其他内容。这是我的代码。//UpdatePhysicalAddress.$field=newEWSType_SetItemFieldType();$field->IndexedFieldURI->FieldURI='contacts:PhysicalAddress:Street';$field->IndexedFieldURI->FieldIndex=EWSType_PhysicalAddressKeyType::HOME;$field

PHP 和 Exchange Web 服务 (EWS) - 无法连接

我以前从未尝试过,但我正在尝试使用PHP获取有关交换帐户的数据(例如收件箱中的电子邮件数量和收件箱中未读电子邮件的数量)。仅作记录,PHP服务器与交换服务器位于不同的域中。我的PHP服务器正在运行:-系统:Linux-PHP版本5.3.3-cURL信息7.19.7-cURLNTLM是-启用Soap客户端和服务器Excahnge正在运行:-版本14.1或Exchange2010SP1我已经尝试了3个PHP库,它们都返回了非常相似的错误。HeartspringExchangeWebServicesforPHP,PHP-EWS和EWSWrapper图书馆。由于所有3个库都需要,我从交换服务器

PHP-EWS 将电子邮件移动到文件夹

我正在使用php-ews获取附件并将​​它们保存到特定目录,现在我需要将邮件移动到另一个文件夹。我被困在这里:$client=newClient($host,$username,$password,$version);$request=newFindItemType();$request->ParentFolderIds=newNonEmptyArrayOfBaseFolderIdsType();//Returnallmessageproperties.$request->ItemShape=newItemResponseShapeType();$request->ItemShape-

PHP-EWS 2010,如何设置 IsRead 标志

我已经能够使用php-ewsAPI从Exchange2010收件箱中成功检索未读电子邮件。但是,在我获取电子邮件后,我想将电子邮件的IsRead属性设置为true,以便下次我获取电子邮件时不会出现这些消息。以前有人做过吗?编辑:这就是我尝试设置IsRead标志的方式:$message_id='';//idofmessage$change_key='';//changekey$response=$ews->GetItem($request);//print_r($response);exit;if($response->ResponseMessages->GetItemResponseM