将“MailItem”对象保存为.msg文件

时间:2013-03-21 15:14:54

标签: c# outlook

遵循概述的代码here

如何将MailItem对象保存为.msg文件?

或者另外一种方法是:如何使用.msg对象的属性(发件人,抄送,密件抄送,主题,正文等)创建MailItem文件?

2 个答案:

答案 0 :(得分:5)

mailItem.SaveAs(savepath);

其中mailItem是Outlook MailItem,而savepath是例如:

String savepath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\" + filename + ".msg";

如果您希望将MailItem主题用作文件名,则可能需要删除文件名的无效字符:

String filename = mailItem.Subject;
string invalid = new string(Path.GetInvalidFileNameChars()) + new string(Path.GetInvalidPathChars());

foreach (char c in invalid)
{
    filename = filename.Replace(c.ToString(), "");
}

答案 1 :(得分:2)

使用MailItem.SaveAs(...,olMsg) - 请参阅http://msdn.microsoft.com/en-us/library/office/bb175283(v=office.12).aspx

或者您是否想要从头开始创建MSG文件,而实际的MailItem对象不在其中一个Outlook文件夹中?在这种情况下,您可以使用Redemption及其RDOSession.CreateMessageFromMsgFile方法(返回RDOMail对象)。