Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I finally got it working! Here is how you retrieve unread emails from a Exchange 2010 Server:</p> <pre><code> $ews = new ExchangeWebServices("hostname", "username", "password",ExchangeWebServices::VERSION_2010); $request = new EWSType_FindItemType(); $itemProperties = new EWSType_ItemResponseShapeType(); $itemProperties-&gt;BaseShape = EWSType_DefaultShapeNamesType::ID_ONLY; $itemProperties-&gt;BodyType = EWSType_BodyTypeResponseType::BEST; $request-&gt;ItemShape = $itemProperties; $fieldType = new EWSType_PathToUnindexedFieldType(); $fieldType-&gt;FieldURI = 'message:IsRead'; $constant = new EWSType_FieldURIOrConstantType(); $constant-&gt;Constant = new EWSType_ConstantValueType(); $constant-&gt;Constant-&gt;Value = "0"; $IsEqTo = new EWSType_IsEqualToType(); $IsEqTo-&gt;FieldURIOrConstant = $constant; $IsEqTo-&gt;Path = $fieldType; $request-&gt;Restriction = new EWSType_RestrictionType(); $request-&gt;Restriction-&gt;IsEqualTo = new EWSType_IsEqualToType(); $request-&gt;Restriction-&gt;IsEqualTo-&gt;FieldURI = $fieldType; $request-&gt;Restriction-&gt;IsEqualTo-&gt;FieldURIOrConstant = $constant; $request-&gt;IndexedPageItemView = new EWSType_IndexedPageViewType(); $request-&gt;IndexedPageItemView-&gt;BasePoint = 'Beginning'; $request-&gt;IndexedPageItemView-&gt;Offset = 0; $request-&gt;ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType(); $request-&gt;ParentFolderIds-&gt;DistinguishedFolderId = new EWSType_DistinguishedFolderIdType(); $request-&gt;ParentFolderIds-&gt;DistinguishedFolderId-&gt;Id = EWSType_DistinguishedFolderIdNameType::INBOX; $request-&gt;Traversal = EWSType_ItemQueryTraversalType::SHALLOW; $result = new EWSType_FindItemResponseMessageType(); $result = $ews-&gt;FindItem($request); /*echo '&lt;pre&gt;'; print_r($result);exit;*/ if ($result-&gt;ResponseMessages-&gt;FindItemResponseMessage-&gt;ResponseCode == 'NoError' &amp;&amp; $result-&gt;ResponseMessages-&gt;FindItemResponseMessage-&gt;ResponseClass == 'Success'){ $count = $result-&gt;ResponseMessages-&gt;FindItemResponseMessage-&gt;RootFolder-&gt;TotalItemsInView; for ($i = 0; $i &lt; $count; $i++){ $message_id = $result-&gt;ResponseMessages-&gt;FindItemResponseMessage-&gt;RootFolder-&gt;Items-&gt;Message[$i]-&gt;ItemId-&gt;Id; $request = new EWSType_GetItemType(); $request-&gt;ItemShape = new EWSType_ItemResponseShapeType(); $request-&gt;ItemShape-&gt;BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES; $request-&gt;ItemIds = new EWSType_NonEmptyArrayOfBaseItemIdsType(); $request-&gt;ItemIds-&gt;ItemId = new EWSType_ItemIdType(); $request-&gt;ItemIds-&gt;ItemId-&gt;Id = $message_id; $response = $ews-&gt;GetItem($request); //print_r($response);exit; if( $response-&gt;ResponseMessages-&gt;GetItemResponseMessage-&gt;ResponseCode == 'NoError' &amp;&amp; $response-&gt;ResponseMessages-&gt;GetItemResponseMessage-&gt;ResponseClass == 'Success' ) { $message = $response-&gt;ResponseMessages-&gt;GetItemResponseMessage-&gt;Items-&gt;Message; //process the message data. } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload