C# 从电子邮件C获取收件人列表

C# 从电子邮件C获取收件人列表,c#,dynamics-crm-2011,C#,Dynamics Crm 2011,我正在创建一个插件,我想检查电子邮件的收件人是否属于某种类型。我发现to是一个ActivityParty类型,我似乎无法从列表中获取单个收件人。有人能帮忙吗?实际上“To”是ActivityParty实体的列表。每个ActivityParty对象都包含PartyId属性,该属性是EntityReference。 因此,如果您想找到电子邮件接收者或接收者的实体类型,请尝试下一个代码: Email email; ... IEnumerable<ActivityParty> emailRe

我正在创建一个插件,我想检查电子邮件的收件人是否属于某种类型。我发现to是一个ActivityParty类型,我似乎无法从列表中获取单个收件人。有人能帮忙吗?

实际上“To”是ActivityParty实体的列表。每个ActivityParty对象都包含PartyId属性,该属性是EntityReference。 因此,如果您想找到电子邮件接收者或接收者的实体类型,请尝试下一个代码:

Email email;
...
IEnumerable<ActivityParty> emailRecievers = email.To;
foreach (ActivityParty ap in emailRecievers)
{
    string entityTypeName = ap.PartyId.LogicalName;
    if (entityTypeName == "contact")
    {
        // do something...
    }
}

实际上,“To”是ActivityParty实体的列表。每个ActivityParty对象都包含PartyId属性,该属性是EntityReference。 因此,如果您想找到电子邮件接收者或接收者的实体类型,请尝试下一个代码:

Email email;
...
IEnumerable<ActivityParty> emailRecievers = email.To;
foreach (ActivityParty ap in emailRecievers)
{
    string entityTypeName = ap.PartyId.LogicalName;
    if (entityTypeName == "contact")
    {
        // do something...
    }
}

我使用下面的代码来管理它:

EntityCollection Recipients = email.GetAttributeValue<EntityCollection>("to");

foreach (var party in Recipients.Entities)
{  
var partyName = party.GetAttributeValue<EntityReference>("partyid").Name;
var partyId = party.GetAttributeValue<EntityReference>("partyid").Id;

…
}

我使用下面的代码来管理它:

EntityCollection Recipients = email.GetAttributeValue<EntityCollection>("to");

foreach (var party in Recipients.Entities)
{  
var partyName = party.GetAttributeValue<EntityReference>("partyid").Name;
var partyId = party.GetAttributeValue<EntityReference>("partyid").Id;

…
}

你在使用早期绑定类吗?Visual Studio intellisense应该帮助您找到ActivityParty的属性。您是否使用早期绑定类?Visual Studio intellisense应该可以帮助您找到ActivityParty的属性。我已经添加了您的代码,并且收到一条消息说电子邮件不包含“To”的定义。我已经在我的CRM中添加了一个服务参考,我本以为这会起作用,但似乎我仍然缺少一些东西。我添加了您的代码,我收到一条消息,说电子邮件不包含“To”的定义。我已经在我的CRM中添加了一个服务参考,我认为这会使这项工作发挥作用,但似乎我仍然缺少一些东西