Извлечение содержимого сообщений из электронных писем
Отображение информации об электронной почте на экране
Класс MailMessage представляет сообщение электронной почты и позволяет разработчикам получать доступ к свойствам сообщения. Заголовочная информация (обсуждаемая в Извлечение заголовков электронной почты) может быть извлечена и обработана различными способами. Эта статья объясняет, как отобразить выбранную информацию из заголовков электронной почты и тело письма на экране.
- Создайте экземпляр MailMessage.
- Загрузите сообщение электронной почты в экземпляр MailMessage.
- Отобразите содержимое электронной почты на экране.
Ниже приведен код, демонстрирующий, как загрузить сообщение электронной почты и отобразить его содержимое - от, до, тема и тело письма - на экране.
Получение времени даты сообщения
Класс MailMessage может быть использован для получения даты сообщения в формате UTC или местной часовой зоны. Эта информация может быть обобщена следующим образом:
- MailMessage.getDate() - возвращает дату в UTC
- MailMessage.getLocalDate() - возвращает дату в местной часовой зоне
- MailMessage.isLocalDate Возвращает true, если MailMessage.getDate() находится в местной часовой зоне
Извлечение заголовков электронной почты
Заголовок электронной почты представляет собой набор полей заголовка, определенных стандартом Internet и RFC, включенных в сообщения электронной почты. Заголовок электронной почты можно указать с использованием класса MailMessage. Общие типы заголовков определены в классе HeaderType. Это закрытый класс, работающий как обычная перечисляемая функция.
Чтобы извлечь заголовки из электронного письма, выполните следующие действия:
- Создайте экземпляр класса MailMessage.
- Загрузите сообщение электронной почты в экземпляр класса MailMessage.
- После загрузки сообщения электронной почты мы получим его необработанное содержимое. Сам класс MailMessage содержит такие свойства, как From, To, Cc, Subject и так далее. Эти свойства можно извлечь из заголовков.
- Отобразите необработанное содержимое.
Получение закодированных значений заголовков
Получение и изменение заголовка привязки ресурсов
К ресурсам, привязанным к сообщению электронной почты, можно получить доступ и обрабатывать их программно. Метод getContentDisposition() класса LinkedResource получает заголовок Content-Disposition. Пример кода ниже демонстрирует, как получить доступ и изменить имя файла связанного ресурса:
MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");
Получение HTML-тела как простого текста
Класс MailMessage предоставляет возможность извлечь HTML-тело сообщения как простой текст. Класс MailMessage предоставляет метод GetHtmlBodyText, который возвращает HTML-тело в виде простого текста. Метод GetHtmlBodyText принимает булевый параметр, который указывает, должно ли тело содержать URL или нет. Передача параметра как true означает, что HTML-тело должно содержать URL.
Следующий фрагмент кода демонстрирует использование метода GetHtmlBodyText для извлечения HTML-тела электронной почты как простого текста.