首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# Process.Start 啟動 Outlook 並附加檔案的正確參數格式

     編輯:程式設計綜合問答

問題現象

使用 Process.Start 呼叫 Outlook 發送郵件並附加檔案時,命令列參數格式錯誤導致附件無法添加。原始碼嘗試構造 mailto 協議參數:

System.Diagnostics.Process.Start(path, 
    "-c IPM.Note /m myfriend@hotmail.com&subject=Hello " + AttachPath);

正確做法

  1. 使用 Outlook COM 物件模型(推薦):引用 Microsoft.Office.Interop.Outlook,程式碼可控、穩定。
    var outlook = new Outlook.Application();
    var mail = outlook.CreateItem(Outlook.OlItemType.olMailItem);
    mail.To = "myfriend@hotmail.com";
    mail.Subject = "Hello";
    mail.Attachments.Add(@"C:\11.bmp");
    mail.Display(); // 或 mail.Send();
    
  2. 若必須用 mailto 協議:標準 mailto 不支援附件。僅能設定收件人、主題、正文。附件需透過 COM 或 MAPI 實現。
  3. 參考資源:C# 調用 Outlook 發送郵件完整範例。

總結

命令列啟動 Outlook 附加檔案不可靠且受限,企業級應用請直接使用 Outlook Interop 組件或 Exchange Web Services (EWS)/Microsoft Graph API。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved