3

我有一个 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 电子邮件,并使用发送到该方法的详细信息(例如电子邮件地址、主题和邮件正文)填充它。

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

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

我究竟做错了什么?

4

1 回答 1

0

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

于 2012-12-13T13:22:03.003 回答