Извличане на съдържание на съобщения от имейли
Показване на имейл информация на екрана
Този MailMessage представлява имейл съобщение и позволява на разработчиците да достъпват свойства на имейл съобщението. Информацията от заглавието (обсъдена в Извличане на заглавия на имейл) могат да бъдат извлечени и манипулирани по различни начини. Тази статия обяснява как да се покажат избрани заглавни данни от имейл и тялото му на екрана.
- Създайте екземпляр на MailMessage.
- Заредете имейл съобщение в екземпляра MailMessage.
- Показване на съдържанието на имейла на екрана.
Кодът по-долу демонстрира как да заредите имейл съобщение и да покажете неговото съдържание – от, до, тема и тяло на имейла – на екрана.
Получаване на дата и час на съобщението
Този MailMessage класът може да се използва за извличане на датата на съобщението в UTC или в местната часова зона. Тази информация може да се обобщи както следва:
- MailMessage.getDate() - връща датата в UTC
- MailMessage.getLocalDate() - връща дата в местната часова зона
- MailMessage.isLocalDate Връща true, ако MailMessage.getDate() е в местната часова зона
Извличане на заглавия на имейл
Заглавието на имейл представлява набор от полета, дефинирани от Интернет и RFC стандарти, включени в интернет имейл съобщения. Заглавието на имейл може да се зададе с помощта на MailMessage клас. Общите типове на заглавки са дефинирани в HeaderType клас. Това е запечатан клас, работещ като обикновено изброяване.
За да извлечете заглавия от имейл, следвайте тези стъпки:
- Създайте екземпляр на клас MailMessage.
- Заредете имейл съобщение в екземпляра на клас MailMessage.
- След като имейл съобщението е заредено, ще получим неговото сурово съдържание. Класът MailMessage сам съдържа свойства като From, To, Cc, Subject и др. Тези свойства могат да бъдат извлечени от заглавията.
- Покажете суровото съдържание.
Получаване на декодирани стойности на заглавието
Получаване и модифициране на заглавката Disposition на свързания ресурс
Свързаният ресурс може да бъде достъпен и манипулиран програмно в обекта на съобщението по имейл. The 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 тялото на имейла като обикновен текст.
Извличане на X.500 Exchange адреси от имейли
Aspose.Email за Java ви позволява да достъпвате X.500 Exchange адреси директно чрез MailAddress клас. С X500Address свойство, можете да извлечете имейл адреса във формат Exchange X.500, когато е наличен. Следният примерен код показва как да заредите имейл съобщение и да получите X.500 адреса на подателя:
MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();
Ако X.500 адресът съществува, той ще бъде върнат като низ и може да се използва за по-нататъшна обработка или регистриране в приложения, които взаимодействат със системи, базирани на Exchange.
Извличане и вграждане на свързани изображения като прикачени файлове в HTML имейли
Aspose.Email ExtractHTMLBodyResourcesAsAttachments метод на HtmlSaveOption класът определя дали да се извличат ресурсите от HTML тялото като прикачени файлове. По този начин можете да извлечете съдържание, свързано с изображения, от HTML тялото и да го вградите като прикачен файл в MIME съобщение. Свързаните изображения се запазват и правилно се асоциират с имейла, подобрявайки целостта на съдържанието и достъпността офлайн.
Следният примерен код демонстрира как да се извърши тази задача:
MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
}
});