2016-06-21 78 views
0

我希望能夠檢查登錄用戶是否有權從特定電子郵件地址發送郵件。如果他不能,我會刪除用戶界面的選擇,他只能從他的發送。如何在發送之前驗證發件人地址許可

到目前爲止,我似乎只能得到「用於提交此請求的用戶帳戶無權代表指定的發送帳戶發送郵件。」信息一旦我做了.SendAndSaveCopy(),如果我做.Save()只返回沒有錯誤。

ImpersonateUserId()未在此交換服務器上啓用。

回答

0

似乎沒有直接的方式來驗證權限。

所以我使用下面的代碼來「嘗試」從給定的帳戶中檢索文件夾列表。如果它返回一個答案,這是因爲它有權限。

private bool HasOwnerAccess(string emailaddress) 
    { 
     try 
     { 
      Mailbox mailbox = new Mailbox(emailaddress); 
      FindFoldersResults findfolder = exchangeService.FindFolders(new FolderId(WellKnownFolderName.Inbox, mailbox), new FolderView(1)); 
      return true; 
     } 
     catch (Exception) 
     { 
      return false; 
     } 
    } 
相關問題