Веб-службы PHP и Exchange: извлечение тела сообщения с использованием php-ews

Мне не повезло получить тело сообщения электронной почты с сервера Exchange 2010 с помощью php-ews. Это мой код:

$ews = new ExchangeWebServices("hostname", "username","password",ExchangeWebServices::VERSION_2010);

$request = new EWSType_FindItemType();

$itemProperties = new EWSType_ItemResponseShapeType();

$itemProperties->BaseShape = EWSType_DefaultShapeNamesType::ALL_PROPERTIES;
$itemProperties->BodyType = EWSType_BodyTypeResponseType::BEST;

$request->ItemShape = $itemProperties;

//If I do not include the below three sentences I get a PHP Fatal error saying "Basepoint" not found

$request->IndexedPageItemView = new EWSType_IndexedPageViewType();
$request->IndexedPageItemView->BasePoint = 'Beginning';

$request->IndexedPageItemView->Offset = 0;

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

$request->Traversal = EWSType_ItemQueryTraversalType::SHALLOW;

$result = new EWSType_FindItemResponseMessageType();

$result = $ews->FindItem($request);
if ($result->ResponseMessages->FindItemResponseMessage->ResponseCode == 'NoError' && $result->ResponseMessages->FindItemResponseMessage->ResponseClass == 'Success'){

    $message = $result->ResponseMessages->FindItemResponseMessage->Items->Message;
        //This if loop is entered but the $message variable contains nothing
    print_r($message);exit;
    //var_dump($message) displays NULL
}

& Quot; если & quot; цикл введен, но переменная $ message ничего не содержит. Обычно это должен быть объект, из которого я могу получить тело письма.

Что я делаю неправильно ?

Я попробовал это внутри оператора if () и получил объект $ message:

$message = $result->ResponseMessages->FindItemResponseMessage->RootFolder->Items->Message;
print_r($message);exit;

& Quot; RootFolder & quot; атрибут отсутствовал. Однако результирующая переменная $ message не содержит никакого "тела" Атрибут, который содержит тело письма. Вот как выглядит print_r ($ message):

stdClass Object

( [ItemId] => stdClass Object ( [Id] => AAMkADZjOTZhNjNkLTBmZTAtNDdkZi04NGI5LTdiZWY0ZWYzOGNhMwBGAAAAAABI9LX/rIDdRr5XMdDM8RGZBwAL3uOTQAYYQ4U8CTQP/+wKAAAAWsnbAAAL3uOTQAYYQ4U8CTQP/+wKAAAAWvd0AAA= [ChangeKey] => CQAAABYAAAAL3uOTQAYYQ4U8CTQP/+wKAAAAWyCi )

[ParentFolderId] => stdClass Object
    (
        [Id] => AQMkADZjOTZhNjNkLTBmZTAtNDdkZi04NGI5LTdiZWY0ZWYzOGNhMwAuAAADSPS1/6yA3Ua+VzHQzPERmQEAC97jk0AGGEOFPAk0D//sCgAAAVrJ2wAAAA==
        [ChangeKey] => AQAAAA==
    )

[ItemClass] => IPM.Note
[Subject] => Test
[Sensitivity] => Normal
[DateTimeReceived] => 2012-09-05T13:03:08Z
[Size] => 4754
[Importance] => Normal
[IsSubmitted] => 
[IsDraft] => 
[IsFromMe] => 
[IsResend] => 
[IsUnmodified] => 1
[DateTimeSent] => 2012-09-05T13:03:00Z
[DateTimeCreated] => 2012-09-05T13:03:08Z
[DisplayCc] => 
[DisplayTo] => sara cooper
[HasAttachments] => 
[Culture] => en-IN
[EffectiveRights] => stdClass Object
    (
        [CreateAssociated] => 
        [CreateContents] => 
        [CreateHierarchy] => 
        [Delete] => 1
        [Modify] => 1
        [Read] => 1
    )

[LastModifiedName] => Lin T
[LastModifiedTime] => 2012-09-05T13:03:08Z
[IsAssociated] => 
[WebClientReadFormQueryString] => ?ae=Item&a=Open&t=IPM.Note&id=RgAAAABI9LX%2frIDdRr5XMdDM8RGZBwAL3uOTQAYYQ4U8CTQP%2f%2bwKAAAAWsnbAAAL3uOTQAYYQ4U8CTQP%2f%2bwKAAAAWvd0AAAJ&exvsurl=1
[ConversationId] => stdClass Object
    (
        [Id] => AAQkADZjOTZhNjNkLTBmZTAtNDdkZi04NGI5LTdiZWY0ZWYzOGNhMwAQAJ56TrE0QUIAk59ALIqWrrY=
    )

[Sender] => stdClass Object
    (
        [Mailbox] => stdClass Object
            (
                [Name] => Lin T
                [MailboxType] => OneOff
            )

    )

[IsReadReceiptRequested] => 
[ConversationIndex] => Í‹fÃIžzN±4AB“Ÿ@,Š–®¶
[ConversationTopic] => Test
[From] => stdClass Object
    (
        [Mailbox] => stdClass Object
            (
                [Name] => Lin T
                [MailboxType] => OneOff
            )

    )

[InternetMessageId] => <[email protected]>
[IsRead] => 
[ReceivedBy] => stdClass Object
    (
        [Mailbox] => stdClass Object
            (
                [Name] => sara cooper
                [MailboxType] => OneOff
            )

    )

[ReceivedRepresenting] => stdClass Object
    (
        [Mailbox] => stdClass Object
            (
                [Name] => sara cooper
                [MailboxType] => OneOff
            )

    )

)

Мне также нужен адрес электронной почты отправителя и получателя. Здесь отображаются только имя и фамилия. Пожалуйста, помогите, это становится действительно срочно.

Ответы на вопрос(3)

Ваш ответ на вопрос