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

时间:2012-10-19 16:04:08

标签: c# dynamics-crm-2011

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

2 个答案:

答案 0 :(得分:3)

实际上'To'是ActivityParty实体的列表。每个ActivitParty对象都包含PartyId属性,即EntityReference。 因此,如果您想查找实体类型的电子邮件接收器(或接收器),请尝试使用下一个代码:

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

答案 1 :(得分:1)

我使用以下代码管理了这个:

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;

…
}