尝试在文件夹中保存Outlook电子邮件

时间:2012-12-13 11:59:01

标签: c# winforms outlook-2010

我有一个WinForms应用程序,点击一个按钮会自动生成一个Outlook邮件,如下所示:

public static void CreateOutlookEmail(string pFileName, string pCaseFolder, string pEmail, string pSubject, string pMessage)
    {
        try
        {
            Outlook.Application outlookApp = new Outlook.Application();
            Outlook.MailItem mailItem = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem);                
            mailItem.Subject = pSubject;
            mailItem.To = pEmail;
            mailItem.Body = pMessage;
            mailItem.Importance = Outlook.OlImportance.olImportanceNormal;
            mailItem.Display(false);
            string fileDetails = pCaseFolder + "\\" + pFileName + @".eml";
            mailItem.SaveAs(fileDetails);
        }
        catch (Exception eX)
        {
            throw new Exception("cDocument: Error occurred trying to Create an Outlook Email"
                                + Environment.NewLine + eX.Message);
        }
    }

代码成功打开一个新的Outlook电子邮件,并使用发送到方法中的详细信息填充它。电子邮件地址,主题和信息正文。

此外,当我找到文件夹(以参数形式发送)时,我可以看到电子邮件文档已保存。

问题是,当我从文件夹中打开电子邮件时,电子邮件文档完全是空白的。没有电子邮件地址,主题或消息。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

你的代码很好。只需使用扩展名“.msg”而不是“.eml”。 Outlook.OlSaveAsType

下也不存在eml格式