/// <summary> /// Shows how to retrieve an email from IMAP server using OpenEntityStream method /// </summary> public static void RetrieveEmailUsingOpenEntityStreamIMAP() { //ExStart:RetrieveEmailUsingOpenEntityStream // Create connection info var info = EmailConnectionInfo.CreateImapConnectionInfo(@"imap-mail.outlook.com", 995, "username", "password"); // Create an email container using (var container = new EmailContainer(info)) { // Iterate over emails foreach (var entity in container.Entities) { // Create a stream with content of email var stream = container.OpenEntityStream(entity); // or var stream = entity.OpenStream(); // Create a text extractor for email using (var extractor = new EmailTextExtractor(stream)) { // Extract all the text from email Console.WriteLine(extractor.ExtractAll()); } } } //ExEnd:RetrieveEmailUsingOpenEntityStreamPOP3 }
/// <summary> /// Shows how to retrieve an email from Microsoft exchange server using OpenEntityStream method /// </summary> public static void RetrieveEmailUsingOpenEntityStream() { //ExStart:RetrieveEmailUsingOpenEntityStream // Create connection info var info = EmailConnectionInfo.CreateEwsConnectionInfo(@"https://outlook.office365.com/ews/exchange.asmx", "username", "password"); // Create an email container using (var container = new EmailContainer(info)) { // Iterate over emails foreach (var entity in container.Entities) { // Create a stream with content of email var stream = container.OpenEntityStream(entity); // or var stream = entity.OpenStream(); // Create a text extractor for email using (var extractor = new EmailTextExtractor(stream)) { // Extract all the text from email Console.WriteLine(extractor.ExtractAll()); } } } //ExEnd:RetrieveEmailUsingOpenEntityStream }
/// <summary> /// Extracts from OST(pst) container with improved memory consumption /// </summary> public static void ExtractTextFromOstContainer2(string fileName) { //ExStart:ExtractTextFromOstContainer2_18.2 var container = new PersonalStorageContainer(Common.GetFilePath(fileName)); var enumerator = container.Entities.GetEnumerator(); while (enumerator.MoveNext()) { var entity = enumerator.Current; using (var entityStream = entity.OpenStream()) { using (var extractor = new EmailTextExtractor(entityStream)) { string content = extractor.ExtractAll(); Console.WriteLine(entity[PersonalStorageContainer.EmailSubject]); Console.WriteLine(entity[PersonalStorageContainer.EmailSender]); Console.WriteLine(entity[PersonalStorageContainer.EmailReceiver]); Console.WriteLine(content); } } } //ExEnd:ExtractTextFromOstContainer2_18.2 }