К сожалению, вы не можете полагаться на электронные письма, которые всегда следуют стандартам (см. https://tools.ietf.org/html/rfc1521 для более подробной информации).В идеальном мире вы должны столкнуться с сообщениями с multipart/alternative
, по сути, с двумя разделами:
text/html
с форматированным (html) сообщением вместе с таблицей в вашем случае, text/plain
, содержащий простой текст, позволяющий любому читателю интерпретировать эту электронную почту (даже без поддержки html - подумайте об отображении электронной почты в командной строке / терминале).
Только потому, что существуют стандартыне означает, что люди будут следовать за ними.Вы увидите сообщения без второй части, неверные типы контента и многое другое.
Кажется, что браузеры полагаются на первую часть - text/html
.Если эта часть отсутствует, может вообще ничего не отображаться (обратите внимание, что результаты могут отличаться в разных браузерах, а разные типы контента могут давать разные результаты - я проверял это с помощью multipart/mixed
на Chromium).
Для продвижения вперед с помощью UiPath доступны следующие параметры:
- Откройте файл MHT в другом приложении, например, в Mozilla Thunderbird (вы можете сначала переименовать их в
eml
).Используйте Desktop Automation для переименования и открытия файла, затем извлеките данные по своему усмотрению. - Используйте действие Чтение текстового файла в качестве резервной копии на тот случай, если ваш браузер отобразит пустую страницу.Возможно, вам понадобится использовать регулярные выражения для получения нужного раздела (текстовый / простой), но я бы порекомендовал использовать такую среду, как MimeKit (доступную в виде пакета NuGet, поэтому ее интеграция в UiPath должна быть простой).
В любом случае вам потребуется проанализировать текстовое представление таблицы, потенциально превратив ее в DataTable
объект, который включает в себя:
- Определение начала и конца таблицы,
- Разделение строк (например, при обнаружении символа NewLine),
- Разделение ячеек (символы табуляции или символы-разделители).
Если вы точно не знаете, какие форматы ожидать, это может быть проблематично.