Dynamics CRM 2011内部部署。
我有一个在案件/事件结束时触发的流程,它会从案件所有者发送一封电子邮件。
这个过程由米克拥有。安迪是一个案件的拥有者并将其关闭。
一份工作正在运行并停留在Waiting。工作中有一个警告说
“您无法以所选用户身份发送电子邮件。所选用户不允许这样做,或者您没有足够的权限执行此操作。请与系统管理员联系以获取帮助。”
使用以下堆栈跟踪:
Plugin Trace:
[Microsoft.Xrm.Sdk.Workflow: Microsoft.Xrm.Sdk.Workflow.Activities.SendEmail]
[SendEmailStep7]
Error Message:
Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]: User does not have send-as privilege.Detail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorCode>-2147203059</ErrorCode>
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>User does not have send-as privilege.</Message>
<Timestamp>2013-09-27T13:55:42.6567419Z</Timestamp>
<InnerFault>
<ErrorCode>-2147203059</ErrorCode>
<ErrorDetails xmlns:d3p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>User does not have send-as privilege.</Message>
<Timestamp>2013-09-27T13:55:42.6567419Z</Timestamp>
<InnerFault i:nil="true" />
<TraceText i:nil="true" />
</InnerFault>
<TraceText>[Microsoft.Xrm.Sdk.Workflow: Microsoft.Xrm.Sdk.Workflow.Activities.SendEmail]
[SendEmailStep7]
</TraceText>
</OrganizationServiceFault>
at Microsoft.Crm.Extensibility.OrganizationSdkServiceInternal.Execute(OrganizationRequest request, CorrelationToken correlationToken, CallerOriginToken callerOriginToken, WebServiceType serviceType)
at Microsoft.Crm.Extensibility.InprocessServiceProxy.ExecuteCore(OrganizationRequest request)
at Microsoft.Crm.Workflow.Services.SendEmailActivityService.<>c__DisplayClass1.<SendEmailInternal>b__0(IOrganizationService sdkService)
at Microsoft.Crm.Workflow.Services.ActivityServiceBase.ExecuteInTransactedContext(ActivityDelegate activityDelegate)
at Microsoft.Crm.Workflow.Services.SendEmailActivityService.ExecuteInternal(ActivityContext executionContext, SendEmail sendEmail)
at Microsoft.Crm.Workflow.Services.SendEmailActivityService.Execute(ActivityContext executionContext, SendEmail sendEmail)
at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)
如果微软使用“Mick”和“Andy”这两个词,那将会非常有用,但他们自然会使用含糊不清的“你”和“选定的用户”。
那么,谁是“你”和“选定的用户”?
答案 0 :(得分:1)
这告诉您不能代表他人或帐户发送电子邮件。
You
是尝试发送电子邮件的登录帐户。
Selected user
很可能是发送到的电子邮件的From
字段中的内容。
因此,如果您以Fred
身份登录并且您尝试从Ethel
发送电子邮件,那么您将无法代表他人发送电子邮件, Microsoft在此处调用send-as privilege
。
错误的关键部分是<Message>User does not have send-as privilege.</Message>
答案 1 :(得分:1)
米克是“你”。 安迪是“精选用户”。
由Andy修复文件&gt;在CRM中选项,然后单击电子邮件选项卡并勾选顶部框,“允许其他Microsoft Dynamics CRM用户代表您发送电子邮件。”,然后单击确定。
我没有找到管理员代表用户启用此选项的方法。因此,如果有很多用户,这将是昂贵的。
答案 2 :(得分:1)
这里的最佳答案来自此博客条目
http://www.digital-transition.com/archives/2011/crm-2011-user-does-not-have-send-as-privilege/
难以解决的问题。问题是,即使您设置系统帐户发送电子邮件,您仍然需要每个用户的权限,以表明他们愿意为其他用户(请注意所有其他用户)代表他们发送电子邮件,而不仅仅是系统帐户,这反过来可以制造安全问题。
不幸的是,这里没有100%的解决方案