【问题标题】:php ews, get sent items more infophp ews,获取发送项目更多信息
【发布时间】:2014-08-24 07:21:14
【问题描述】:

我使用 jamesiarmes/php-ews 连接 Exchange 服务器以获取电子邮件列表。

$ews = new ExchangeWebServices('[host]', '[username]', '[password]');

$request = new EWSType_FindItemType();

$request->ItemShape = new EWSType_ItemResponseShapeType();
$request->ItemShape->BaseShape = EWSType_DefaultShapeNamesType::DEFAULT_PROPERTIES;

$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW;

$request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();
$request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();
$request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::SENT_ITEMS;

// sort order
$request->SortOrder = new EWSType_NonEmptyArrayOfFieldOrdersType();
$request->SortOrder->FieldOrder = array();
$order = new EWSType_FieldOrderType();
// sorts mails so that oldest appear first
// more field uri definitions can be found from types.xsd (look for UnindexedFieldURIType)
$order->FieldURI->FieldURI = 'item:DateTimeReceived'; 
$order->Order = 'Ascending'; 
$request->SortOrder->FieldOrder[] = $order;

$response = $ews->FindItem($request);
echo '<pre>'.print_r($response, true).'</pre>';

我想收到物品:

EWSType_DistinguishedFolderIdNameType::SENT_ITEMS;

这个脚本打印

  [0] => stdClass Object
(
    [ItemId] => stdClass Object


(
        [Id] => AQAeAGptYXJzY2hhbGwAQGdyb3VwLm1va2F0ZS5jb20ucGwARgAAA9S15wLis8lApRvdnAdC+XoHAC51TyudPmVDoXWXKV00MAYAAAIBCgAAAC51TyudPmVDoXWXKV00MAYAAAIedwAAAA==
        [ChangeKey] => CQAAABYAAAAudU8rnT5lQ6F1lyldNDAGAAAAAB6h
    )

    [Subject] => test
    [Sensitivity] => Normal
    [Size] => 3534
    [DateTimeSent] => 2014-07-03T06:56:17Z
    [DateTimeCreated] => 2014-07-03T06:56:17Z
    [HasAttachments] => 
    [From] => stdClass Object
        (
            [Mailbox] => stdClass Object
                (
                    [Name] => [name]
                    [EmailAddress] => /O=GROUP TEST/OU=EXCHANGE ADMINISTRATIVE GROUP (FYDIBOHF23SPDLT)/CN=RECIPIENTS/CN=59219DC26E6D463AB22C558CC646227D-name
                    [RoutingType] => EX
                )

        )

    [IsRead] => 1
)

那么,我的问题是如何获得收件人的电子邮件地址?有可能吗?

非常感谢您的帮助。

【问题讨论】:

    标签: php exchange-server exchangewebservices items


    【解决方案1】:

    当您使用 FindItem 请求时,不会返回消息的收件人(以及许多其他属性),您需要在您想要获取收件人的特定 ItemId 上发出 GetItem 请求 http://msdn.microsoft.com/en-us/library/office/aa565934(v=exchg.150).aspx。如果您需要对大量项目执行此操作,您可以批处理 GetItems 请求,例如 http://blogs.msdn.com/b/exchangedev/archive/2010/03/16/loading-properties-for-multiple-items-with-one-call-to-exchange-web-services.aspx

    干杯 格伦

    【讨论】:

      猜你喜欢
      • 2019-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 2011-01-05
      相关资源
      最近更新 更多