Exchange 路由代理 - 使用 C# 检查电子邮件地址是否为交换共享邮箱

Exchange Routing agent - check if email address is a exchange shared mailbox using C#

我正在尝试为 Exchange 2010 构建路由代理 dll,它将检查收件人电子邮件地址是否为 Exchange 共享邮箱(具有多个完全控制所有者用户的常规邮箱) .如果是,我想获取该邮箱所有者的电子邮件地址。

所以基本上我需要两件事:

  1. 查询交换以检查特定电子邮件地址的所有者或共享邮箱是否有我可以使用的另一个标识符。
  2. 获取所有所有者的电子邮件地址。

我正在使用 C# 编写 visual studio 2013,我找到了 PowerShell 的部分答案,但我不知道如何将其转换为 C#.

这是我目前得到的:

Get-MailboxPermission sharedMailBox@dudu.com | where $_.user.tostring() -ne "NT AUTHORITY\SELF" -and $_.IsInherited -eq $false}

这会给我所有者列表,但我不知道如何在 C# 中以本机方式使用它。

 // run over all recipients list

foreach(messageEventArgs.MailItem.Recipients 中的 EnvelopeRecipient recp)

{
.........
}