我需要为CRM 2011创建两个插件
每当电子邮件发送或传出时,我都需要检查电子邮件中是否包含任何附件。如果是,我需要将一个布尔值设置为true。
当用户(仅限用户,不是工作流程或自动消息等)回复某些电子邮件时,我需要启动一个插件来检查事件的状态(电子邮件是关于事件的)并根据状态执行某些操作。
我对这整个电子邮件跟踪概念并不熟悉。我们配置了一个电子邮件路由器,但这就是我所能说的。
为了实现所描述的插件,我需要使用哪些步骤?
对于第一个插件,我认为“创建电子邮件”就够了,对吗?第二个插件怎么样?我怎样才能确保插件只在真人发送电子邮件时被触发?
答案 0 :(得分:1)
对于第一个插件:
要检查电子邮件的附件,您需要创建一个插件,该插件在创建ActivityMimeAttachment实体时执行,该实体是存储电子邮件附件的实体。
当电子邮件路由器处理入站电子邮件(或在Outlook客户端中跟踪)时,首先创建父电子邮件记录,然后为每个附件创建一个ActivityMimeAttachment记录。
如果您在创建电子邮件时尝试检查附件,则会在创建任何附件之前执行。但是,您可能还需要一个插件,以便在创建电子邮件时执行以设置“具有附件”'字段为false。
ActivityMimeAttachment上的插件需要获取父电子邮件活动并设置'有附件'字段为true。这将处理入站和出站电子邮件。
另请注意,要获得100%的准确性,您可能需要考虑正在撰写电子邮件并添加附件的用户的方案,然后将其删除。这可以通过在删除附件时运行的插件来处理,但该逻辑可能会变得复杂(如果添加了两个附件但只删除了一个附件会怎样?)
有一些有用的示例代码可用于处理ActivityMimeAttachment实体here。
对于第二个插件:
在更新电子邮件时执行的插件需要验证以下条件:
然后,您可以实现所需的自定义验证和逻辑。
第二项可能是使用标准工作流实现的,具体取决于自定义逻辑的复杂程度。如果逻辑对于标准工作流而言过于复杂,则自定义工作流活动也可能有用,因为可以添加其他逻辑或验证而无需编写其他代码。
答案 1 :(得分:0)
对于1.插件:在电子邮件上注册创建和更新(可能用户先创建邮件,然后再更新一些附件)
对于2.插件:检查以下内容:
如果这还不够,并且用户仅通过CRM Web GUI发送邮件,您还可以通过javascript在记录上设置一个特殊标志,以确保邮件是使用gui创建的。然后在插件中检查此状态标志。