Hi! I have a question. If I have Email with the attached MSG how can I get this MSG and work with it like a MailMessage?
Thanks.
Hi Albert,
<span style=“font-size:
10.0pt;font-family:“Courier New”;color:teal;mso-no-proof:yes”>MailMessage<span style=“font-size:10.0pt;font-family:“Courier New”;mso-no-proof:yes”> msg = MailMessage.Load(“Test
with attachment message.msg”, MessageFormat.Msg);<o:p></o:p>
Attachment att = msg.Attachments[0];
if (att.ContentType.MediaType == "message/rfc822")
{
MemoryStream ms = new MemoryStream();
att.Save(ms);
MailMessage attMsg = MailMessage.Load(ms);
Console.WriteLine("From: " + attMsg.From);
Console.WriteLine("To: " + attMsg.To);
Console.WriteLine("Subject: " + attMsg.Subject);
}
MapiMessage message = Aspose.Email.Outlook.MapiMessage.FromFile("Test with attachment message.msg");
MapiAttachmentCollection attachments = message.Attachments;
foreach (MapiAttachment attachment in attachments)
{
if (attachment.ObjectData != null && attachment.ObjectData.IsOutlookMessage)
{
MapiMessage embeddedMessage = Aspose.Email.Outlook.MapiMessage.FromStream(new System.IO.MemoryStream(attachment.ObjectData.Data));
//Now use MailMessageInterpretor for conversion of MapiMessage to MailMessage
MailMessageInterpretor mi = MailMessageInterpretorFactory
.Instance.GetIntepretor(message.MessageClass);
MailMessage mailMsg = mi.Interpret(embeddedMessage);
Console.WriteLine("From: " + mailMsg.From);
Console.WriteLine("To: " + mailMsg.To);
Console.WriteLine("Subject: " + mailMsg.Subject);
}
}
Thanks! It’s great!
Hi Albert,