//COMPLETE private void HandleEmailFile(string file) { using (var message = new Storage.Message(file)) { var attachFolder = Directory.CreateDirectory($@"c:\temp\temp_msg_attachments_{DateTime.Now:MM-dd-yy hh-mm-ss tt}").FullName; SubmissionDetails details = ParseMessage(message.BodyText); foreach (Storage.Attachment attachment in message.Attachments) { File.WriteAllBytes(attachFolder + "\\" + attachment.FileName, attachment.Data); details.Files.Add(attachFolder + "\\" + attachment.FileName); } details.Sender = message.Sender.DisplayName; Globals.AttachmentFolder = attachFolder; HandleFiles(details); Directory.Delete(attachFolder, true); Globals.AttachmentFolder = ""; /*if (handed[0] + handed[1] == 0) * { * MessageBox.Show("Something went wrong. Please try again."); * return; * }*/ #if DEBUG #else message.Save($@"Z:\Archive\Field Data E-Mails\{details.JobNumbers[0]} {GetInitials(details.Sender)} {DateTime.Now:MM-dd-yy HH-mm-ss}.msg"); File.AppendAllLines($@"Z:\Archive\Field Data E-Mails Record Search.csv", new List <string> { $@"{details.JobNumbers[0]}, {details.Address}, {details.Purpose}, {GetInitials(details.Sender)}, {DateTime.Now:MM-dd-yy HH-mm-ss}, Z:\Archive\{details.JobNumbers[0]} {GetInitials(details.Sender)} {DateTime.Now:MM-dd-yy HH-mm-ss}.msg" }); #endif // TODO: Review post-process handling. /*var result = MessageBox.Show( * $"The e-mail has been parsed successfully! See below for the information.\n" + * $"Address: {details.Address}\n" + * $"Message Date: {message.ReceivedOn.Value}\n" + * $"Sender: {message.Sender.DisplayName} ({message.Sender.Email})\n" + * $"Purpose: {details.Purpose}\n" + * $"Total Files: {message.Attachments.Count}\n" + * $" Images: {handed[1]}\n" + * $" Other Files: {handed[0]}\n\n" + * $"Would you like to open the field data now?", * "Parsing Successful", * MessageBoxButtons.YesNo * ); * message.Dispose(); * if (result == DialogResult.Yes) * { * Process.Start.JobNumbers.GetPath(details.JobNumbers[0]) + "\\Field Data\\"); * }*/ } }
//COMPLETE private void HandleOutlookItem(MemoryStream filestream) { Storage.Message message = new Storage.Message(filestream); //OutlookStorage.Message message = new OutlookStorage.Message(filestream); string fileName = $"temp_msg_{DateTime.Now:MM-dd-yy hh-mm-ss tt}.msg"; message.Save(@"c:\temp\" + fileName); message.Dispose(); HandleEmailFile(@"c:\temp\" + fileName); File.Delete(@"c:\temp\" + fileName); }
public void RemoveAttachments() { using (var inputStream = File.OpenRead(Path.Combine("SampleFiles", "EmailWith2Attachments.msg"))) using (var inputMessage = new Storage.Message(inputStream, FileAccess.ReadWrite)) { var attachments = inputMessage.Attachments.ToList(); foreach (var attachment in attachments) { inputMessage.DeleteAttachment(attachment); } using (var outputStream = new MemoryStream()) { inputMessage.Save(outputStream); using (var outputMessage = new Storage.Message(outputStream)) { var count = outputMessage.Attachments.Count; Assert.IsTrue(count == 0); } } } }