我正在编写一个 Dynamics CRM 2011 插件,该插件与电子邮件实体的更新后事件(管道的第 40 阶段)挂钩,并且在此阶段的代码中无法访问电子邮件的发件人地址。
我们设置了一个电子邮件路由器,将发送到特定地址的电子邮件转发到 Dynamics CRM。它们最终作为电子邮件实体进入服务队列。当我在前端打开这些记录时,发件人地址是可见的(如果适用,还链接到相关用户/联系人)。
但是,如果我尝试在代码中访问电子邮件实体的 From 属性,则它为空。例子:
protected void ExecutePostEmailUpdate(LocalPluginContext localContext)
{
if (localContext == null)
{
throw new ArgumentNullException("localContext");
}
var entity = (Entity)localContext.PluginExecutionContext.InputParameters["Target"];
var email = entity.ToEntity<Email>();
var from = email.From != null ? email.From.First().Id.ToString() : "[null]";
this.Log("Email from: {0}", from);
}
在所有情况下,我的日志中都会收到“来自:[null] 的电子邮件”。
有没有人有什么建议?需要对相关事件做一些事情(如果是从电子邮件创建的),为此,我需要查看电子邮件来自谁。
谢谢。