簡體   English   中英

嘗試使用outllook從asp .net windows應用程序發送帶有圖像的電子郵件時出現“無法創建文件”錯誤

[英]'Cannot create file' error while trying to send email with image from asp .net windows application using outllook

我正在嘗試使用Microsoft.Office.Interop.Outlook從.net Windows應用程序發送電子郵件。 郵件采用html格式,並嵌入了圖像。 嘗試附加圖像時出現以下錯誤,

“無法創建文件:XXX.jpg。右鍵單擊要在其中創建文件的文件夾,然后單擊快捷菜單上的”屬性“以檢查文件夾的權限。

我對文件夾訪問沒有任何問題。 我在64位計算機上運行應用程序,其上有32位Outlook。 當我沒有嵌入圖像,我沒有得到任何錯誤,它工作正常。

string body = string.Empty;
using(StreamReader reader = new StreamReader(Environment.CurrentDirectory + @"/Mail Templates/XXX.txt"))
        {
            body = reader.ReadToEnd();
        }

        Outlook.Application oApp = new Outlook.Application();
        Outlook._MailItem mailItem = (Outlook._MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem);

        mailItem.To = "XXX";
        string filename = Environment.CurrentDirectory + @"/Mail Templates/XXX.jpg";
        mailItem.Attachments.Add(filename, (int)Outlook.OlAttachmentType.olEmbeddeditem, 1);
        mailItem.HTMLbody = "true"
        mailItem.Display(true);

Microsoft目前不建議也不支持從任何無人參與的非交互式客戶端應用程序或組件(包括ASP,ASP.NET,DCOM和NT服務)自動化Microsoft Office應用程序,因為Office可能會出現不穩定的行為和/或Office在此環境中運行時出現死鎖或死鎖。

如果要構建在服務器端上下文中運行的解決方案,則應嘗試使用已為安全無人值守執行的組件。 或者,您應該嘗試找到允許至少部分代碼在客戶端運行的替代方法。 如果從服務器端解決方案使用Office應用程序,則應用程序將缺少許多成功運行的必要功能。 此外,您將承擔整體解決方案穩定性的風險。

您可以在服務器端自動化Office文章的注意事項中閱讀有關該內容的更多信息。

您可以考慮使用EWS(Exchange Web服務)或BCL(.Net框架中的基類庫)。 有關詳細信息請參閱Exchange中的EWS托管API,EWS和Web服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM