Использование библиотеки MsgReader (Install-Package MSGReader -Version 3.7.3)
Вот решение, которое работает для меня.
using (var msg = new MsgReader.Outlook.Storage.Message(@"C:\\test.oft"))
{
var from = msg.Sender;
var sentOn = msg.SentOn;
var recipientsTo = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.To, false, false);
var recipientsCc = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.Cc, false, false);
var subject = msg.Subject;
var htmlBody = msg.BodyHtml;
var client = new SmtpClient("smtp.gmail.com", 587)
{
Credentials = new NetworkCredential("^^service account email^^", "^^service account password^^"),
EnableSsl = true
};
var mailMessage = new MailMessage()
{
From = new MailAddress("^^from email^^"),
Subject = subject,
Body = htmlBody,
IsBodyHtml = true,
Priority = MailPriority.Normal
};
mailMessage.To.Add("^^to email^^");
client.Send(mailMessage);
}
Примечание: Решение нене нужно устанавливать какое-либо приложение Outlook и не иметь диалогового окна / всплывающего окна.
Полезные ссылки:
http://forums.codeguru.com/showthread.php?538563-Read-Outlook-Email-Template-(-OFT)-File-and-Save-Message-as-MSG-Format-in-C
https://stackoverflow.com/questions/26633082/read-outlook-msg-file
https://www.codeproject.com/Articles/19571/MsgReader-DLL