使用 Process.Start 呼叫 Outlook 發送郵件並附加檔案時,命令列參數格式錯誤導致附件無法添加。原始碼嘗試構造 mailto 協議參數:
System.Diagnostics.Process.Start(path,
"-c IPM.Note /m myfriend@hotmail.com&subject=Hello " + AttachPath);
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();
mailto 不支援附件。僅能設定收件人、主題、正文。附件需透過 COM 或 MAPI 實現。命令列啟動 Outlook 附加檔案不可靠且受限,企業級應用請直接使用 Outlook Interop 組件或 Exchange Web Services (EWS)/Microsoft Graph API。