2017-07-11 46 views
0

我正在開發ASP.NET MVC C#中的Web應用程序,您可以在其中創建每年在公司發送的自動電子郵件。C# - 訪問Web應用程序中的Outlook通訊簿

我正在尋找一種方法來驗證用戶指定的收件人地址是否有效並存在於公司中。 我認爲這可以通過查找Outlook的地址簿來完成,因爲它包含公司中的所有電子郵件地址。

我已經四處搜索,發現https://msdn.microsoft.com/en-us/library/ff184631.aspx,建議使用Microsoft.Office.Interop.Outlook包。但是,就我所見,使用此軟件包需要安裝Outlook應用程序。我想這對於在服務器上運行的解決方案可能會有問題。

我可以使用Microsoft.Office.Interop.Outlook包完成我的目標,還是需要使用另一種更好地支持服務器的方法?

+1

由於您的MVC應用程序很可能在未安裝MS Office的服務器上運行,因此無法正常工作 - 查看Exchange(以及您的Outlook通訊簿)通常從哪裏獲取其輸入的Active Directory查詢。 – Filburt

回答

0

繼Filburt在評論文章中,我發現這個代碼一塊實現我的目標

https://code.msdn.microsoft.com/windowsdesktop/A-very-simple-example-to-8bbe95f0

它看起來在Active Directory中。 我已將代碼從鏈接簡化爲以下內容。在這個例子中,我們檢查,如果電子郵件地址[email protected]在AD存在:

using System.DirectoryServices; 

// check if address exists 
var searcher = new DirectorySearcher(); 
searcher.Filter = "(&(mail=" + "[email protected]" + "))"; 
if (searcher.FindOne() != null) { 
    // the email exists in AD - all good! 
} 

這個地方對我的作品,我想它會在服務器上也是如此。如果你發現任何問題,請告訴我。謝謝。