我想通过 C# 将 Outlook 邮件连同附件一起保存为 msg 格式。
我试过下面的代码
using Outlook = Microsoft.Office.Interop.Outlook;
private void button1_Click(object sender, EventArgs e)
{
Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Outlook.NameSpace ns = app.GetNamespace("MAPI");
Outlook.MAPIFolder inbox = ns.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
foreach (Outlook.MailItem item in inbox.Items)
{
item.SaveAs(finename, Outlook.OlSaveAsType.olMSG);
}
}
它可以将邮件另存为msg,但附件部分被删除了。 SaveAs 方法没有其他重载...:(
如果我尝试保存来自 Outlook 的消息,它会保存消息及其中嵌入的附件。知道如何实现这一目标吗?
我正在使用 .Net Framework 3.5 和 Outolook 2007
最佳答案
你用什么作为文件名?它以.msg结尾吗?
我做了这样的事情,它也像你描述的那样工作:
Outlook.MailItem msg;
foreach (object obj in f.Mapi.Items)
{
try
{
msg = obj as Outlook.MailItem;
// ... set file name using message attributes
// string fullPath = "something" + ".msg"
msg.SaveAs(fullPath, Outlook.OlSaveAsType.olMSG);
}
}
我对您的情况如此好奇的原因是我想知道如何重现您正在做的事情:保存邮件项目而不保存附件?
关于c# - 如何保存带有附件的outlook邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2032951/