exchangewebservices — PHP-Ews | ErrorInvalidIdMalformed: идентификатор искажен

В настоящее время я работаю над сценарием, выбирающим темы и вложения из электронного письма, полученного от Exchange.

Для этого я нашел PHP-овость и использовал один из приведенных примеров чтобы получить вложения.
Скрипт бросает ErrorInvalidIdMalformed: Id is malformed когда я пытаюсь запустить его.

Я бы догадался, что сделал ошибку, получив MessageID из Outlook, но, похоже, есть только одно поле с надписью «MessageID». Это выглядит так:
3cbab9c9ad50410592b55f7ade96a57a @ [домен] .fr

Я что-то пропустил?

Спасибо за помощь.

0

Решение

ErrorInvalidIdMalformed

означает, что есть структурные проблемы с MessageID строка, которая передается в.
Тем не менее, нет никаких проблем с MessageID Вы отправили.

Вы можете попробовать сериализовать GetItemRequest экземпляр через XmlSerializer а затем проверить фактический XML на наличие проблем. (возможно опубликуйте актуальный xml на ваш вопрос).

Я предполагаю, что в вашем xml отсутствует символ, иначе он содержит что-то, чего не должно быть.

0

Другие решения

Похоже, что вы путаете EWSId с MessageId, EWSid — это идентификатор, который можно использовать для прямого доступа к элементу. https://msdn.microsoft.com/en-us/library/office/dn605828%28v=exchg.150%29.aspx для полного обсуждения.

MessageId 3cbab9c9ad50410592b55f7ade96a57a @ [domain] .fr в вашем случае — это Internet MessageID, который обычно назначается первым адаптером MTA для обработки сообщения. Вы можете искать сообщение с этим идентификатором, используя EWS и операцию FindItem, например: Веб-служба Exchange находит EmailMessage по "Message-ID" заголовок но вы не можете использовать этот идентификатор для привязки к элементу напрямую. (если вы просто хотите ewsId, вы можете связать напрямую с EWSEditor https://ewseditor.codeplex.com/ чтобы получить привязываемый пример)

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector