none
.net 获取outlook邮件文件 RRS feed

  • 问题

  • 我想做一个Form,将outlook(office outlook 2003)的邮件拖放到Form,自动保存成一个邮件文件。类似于把邮件拖到文件夹,就自动生成一个邮件文件一样。请问有没有相关的代码?vb,c#都可以。

    2013年8月20日 2:17

答案

  • 你好,

    用 Microsoft.Office.Interop.Outlook 是可以实现将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);
    }
    }

    使用这种方法只能保存邮件本身,附件需要另外保存,请参考:How to: Programmatically Save Attachments from Outlook E-Mail Items

    但是至于拖放功能就是另外一回事了,请参考:在 Windows 窗体中执行拖放操作


    Caillen
    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2013年8月21日 6:11
    版主