2012-12-13 79 views
3

我有一個WinForms應用程序,在一個按鈕的點擊如下自動生成的Outlook郵件:試圖保存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電子郵件和填充它將詳細信息發送到方法中電子郵件地址,主題和消息正文。

此外,當我找到文件夾(作爲參數發送),我可以看到電子郵件文件已保存。

問題是,當我從文件夾中打開電子郵件時,電子郵件文檔總是空白ii.e.沒有電子郵件地址,主題或消息。

我在做什麼錯?

回答

0

你的代碼沒問題。只需使用擴展名「.msg」而不是「.eml」即可。此外,Outlook中不存在eml格式.OlSaveAsType

+0

完成,現在它說我沒有執行該操作的權限,並且不會保存文檔? – PJW

+0

該消息可能在Outlook中打開。你可以檢查一下嗎?此外,您可以評論該行mailItem.Display(false);我已經使用過你的代碼段,並且能夠保存消息,所以應該沒有問題。 – stamhaney

+0

此代碼的全部內容是創建並打開一封新郵件,並使用基本信息填充它。地址,主題,然後將其自動保存在常規的Windows文件夾中。所以是的,電子郵件將在應用程序嘗試保存時打開。 – PJW

相關問題