c# - 如何保存带有附件的outlook邮件?

标签 c# outlook

我想通过 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/

相关文章:

c# - CQRS 实现中每个 HTTP 请求的多个命令

c# - Asp.Net Web API 中小数的自定义模型绑定(bind)器

javascript - 电子邮件模板的背景图像在 outlook 任何版本中均不起作用

html - <tr>-边框没有出现在 outlook 中

c# - 是否有类型安全的方法来引用属性中的类/属性?

c# - 在 Windows Phone 8.1 中使用滚动查看器缩放时出现平移问题

Outlook 中的 HTML 电子邮件格式错误

outlook - 如何更新现有的office插件?

ruby-on-rails - 从 Rails 发送 Outlook 日历邀请

c# - c#中如何为方法添加参数注释