Как получить тело письма в HTML от Exchange, используя EWS в 1с
Добрый день! Не подскажите, как получить тело письма в HTML от Exchange, используя EWS в 1с?
Запрос XML:
?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>Default</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="item:DateTimeSent"/>
</t:AdditionalProperties>
</m:ItemShape>
<m:IndexedPageItemView MaxEntriesReturned="10" BasePoint="Beginning" Offset="0"/>
<m:Restriction>
<t:IsEqualTo>
<t:FieldURI FieldURI="message:IsRead"/>
<t:FieldURIOrConstant>
<t:Constant Value="false"/>
</t:FieldURIOrConstant>
</t:IsEqualTo>
</m:Restriction>
<m:SortOrder>
<t:FieldOrder Order = "Ascending">
<t:FieldURI FieldURI="item:DateTimeSent"/>
</t:FieldOrder>
</m:SortOrder>
<m:ParentFolderIds><t:DistinguishedFolderId Id="inbox"></t:DistinguishedFolderId></m:ParentFolderIds></m:FindItem></soap:Body></soap:Envelope>
Запрос XML:
?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<soap:Body>
<m:FindItem Traversal="Shallow">
<m:ItemShape>
<t:BaseShape>Default</t:BaseShape>
<t:AdditionalProperties>
<t:FieldURI FieldURI="item:DateTimeSent"/>
</t:AdditionalProperties>
</m:ItemShape>
<m:IndexedPageItemView MaxEntriesReturned="10" BasePoint="Beginning" Offset="0"/>
<m:Restriction>
<t:IsEqualTo>
<t:FieldURI FieldURI="message:IsRead"/>
<t:FieldURIOrConstant>
<t:Constant Value="false"/>
</t:FieldURIOrConstant>
</t:IsEqualTo>
</m:Restriction>
<m:SortOrder>
<t:FieldOrder Order = "Ascending">
<t:FieldURI FieldURI="item:DateTimeSent"/>
</t:FieldOrder>
</m:SortOrder>
<m:ParentFolderIds><t:DistinguishedFolderId Id="inbox"></t:DistinguishedFolderId></m:ParentFolderIds></m:FindItem></soap:Body></soap:Envelope>
oXMLHTTP = СоздатьXMLHTTP();
//oXMLHTTP.setRequestHeader("Depth", "0");
//oXMLHTTP.setRequestHeader("SOAPAction", "http://webservices.belavia.by/GetAirportsList";);
oXMLHTTP.send(strXML);
СтрокаXML = СокрЛП(strXML);
Если oXMLHTTP.Status=200 тогда
xmlВыборкаMessage = oXMLHTTP.responseXML.SelectNodes("//t:Message");
Для НомерПисьма=1 По xmlВыборкаMessage.Length Цикл
Письмо = xmlВыборкаMessage.item(НомерПисьма-1);
//Прочитано = Письмо.SelectNodes("t:IsRead").item(0).text;
//Если Прочитано Тогда
// // письмо уже прочитано
// Продолжить;
//КонецЕсли;
Тема = Письмо.SelectNodes("t:Subject").item(0).text;
ItemId = Письмо.SelectNodes("t:ItemId").item(0);
Id = ItemId.getAttribute("Id");
ChangeKey = ItemId.getAttribute("ChangeKey");
// получаем и распаковываем вложение
Status = ПолучитьВложение(Id, ChangeKey);
Если Status = 200 тогда
// вложения получили успешно
Иначе
// вложения не получили, письмо оставляем не прочтенным
Продолжить;
КонецЕсли;
Если Status = 200 тогда
// письму успешно установлен флаг о прочтении
КонецЕсли;
// ***********
КонецЦикла;
КонецЕсли;
ПоказатьПо теме из базы знаний
Найденные решения
FindItem - получаете письма. Берете id и ChangeKey.
Далее метод GetItem (данные письма), в ответе будет тэг"body":
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
</soap:Header>
<soap:Body>
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:ItemId Id="ид письма" ChangeKey="ключ версии" />
</ItemIds>
</GetItem>
</soap:Body>
</soap:Envelope>
Далее метод GetItem (данные письма), в ответе будет тэг"body":
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
</soap:Header>
<soap:Body>
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:ItemId Id="ид письма" ChangeKey="ключ версии" />
</ItemIds>
</GetItem>
</soap:Body>
</soap:Envelope>
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
FindItem - получаете письма. Берете id и ChangeKey.
Далее метод GetItem (данные письма), в ответе будет тэг"body":
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
</soap:Header>
<soap:Body>
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:ItemId Id="ид письма" ChangeKey="ключ версии" />
</ItemIds>
</GetItem>
</soap:Body>
</soap:Envelope>
Далее метод GetItem (данные письма), в ответе будет тэг"body":
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:t="https://schemas.microsoft.com/exchange/services/2006/types">
<soap:Header>
<t:RequestServerVersion Version="Exchange2007_SP1" />
</soap:Header>
<soap:Body>
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages"
xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:ItemId Id="ид письма" ChangeKey="ключ версии" />
</ItemIds>
</GetItem>
</soap:Body>
</soap:Envelope>
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот