簡體   English   中英

從 vb.net 或 c# 中的網絡應用程序打開特定的 Outlook 消息

[英]Open a specific outlook message from a web app in vb.net or c#

在 Web 應用程序中,我必須提供與圖中類似的當前用戶電子郵件帳戶的電子郵件列表。

Action   Date           Sender                      Subject 
------  --------------- ------------------------    ------------
view    1/6/21 10.25 AM jhon.doe@abc.com            Red paint
view    1/6/21 12.00 AM Mr. Green                   pink Car
view    1/6/21 3.38 PM  abcdef.1234@aabb.eu         little funny dog
view    1/7/21 12.00 AM europe.america@terra.com    Holiday 

該列表可以按發件人或部分主題或兩者進行過濾。 當用戶單擊消息時,它必須在 Outlook 中打開。

Microsoft.Office.Interop.Outlook 還是 EWS? 在哪里可以找到 c# 或 vb.net 中的一些示例? TIA

您可以嘗試使用以下代碼過濾電子郵件並在 asp.net Web 應用程序的 Outlook 中打開它。

using Outlook = Microsoft.Office.Interop.Outlook;

            Outlook.Application myApp = new Outlook.Application();
            Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
            Outlook.MAPIFolder myInbox =  mapiNameSpace.Folders["Senderemail"].Folders["somefolder"];
            Outlook.MailItem item1 =(Outlook.MailItem) myInbox.Items.Cast<Outlook.MailItem>().Where(i=> (i.Subject == "subjectname") && (i.CreationTime==DateTime.Parse("Dateime"))).FirstOrDefault();
            item1.Display(true);

item.Display(true)方法用於在 Outlook 中打開電子郵件項目。

從 Web 應用程序自動化任何 Office 應用程序並不是一個好主意。 您無法在最終用戶計算機上自動化 Office 應用程序,所有自動化都將在服務器服務器上進行,我認為這並不是您真正需要的。 以下是 MS 對此的聲明:

Microsoft 強烈建議開發人員在需要開發服務器端解決方案時尋找 Office 自動化的替代方案。 由於 Office 設計的限制,對 Office 配置的更改不足以解決所有問題。 Microsoft 強烈推薦一些不需要在服務器端安裝 Office,並且可以比自動化更有效、更快地執行大多數常見任務的替代方案。 在將 Office 作為項目中的服務器端組件使用之前,請考慮替代方案。

Office 服務器端自動化注意事項一文中閱讀有關此內容的更多信息。

如果您僅在 Outlook 中處理 Exchange 配置文件,則可以考慮改用 Exchange Web 服務或任何其他 API,例如 Graph API。 有關詳細信息請參閱探索 Exchange 中的 EWS 托管 API、EWS 和 Web 服務

暫無
暫無

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

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