如何在Dynamics 365 CRM联系人详情页添加邮件按钮并配置邮件表单
我来帮你实现这个Dynamics 365的邮件快捷操作需求!咱们分三个核心步骤来完成,每一步都清晰易懂:
1. 在联系人详情页添加自定义邮件按钮
首先打开Dynamics 365的解决方案编辑器,找到「联系人」实体并进入对应的表单设计器:
- 在表单顶部的命令栏,点击「编辑命令栏」,选择要添加按钮的位置(比如「主页」命令组)
- 点击「添加」→「添加自定义按钮」,给按钮命名(比如「快速发邮件」),设置合适的图标和显示文本
- 配置按钮的动作:选择「打开URL」,先留空后面填充带参数的跳转地址
- 保存并发布表单,现在联系人详情页就能看到这个新按钮了
2. 自动填充邮件表单的收件人(To)字段
刚才的按钮URL需要带上联系人的实体信息,让邮件表单自动识别并填充收件人。正确的URL格式如下:
/main.aspx?pagetype=entityrecord&etn=email&new_to=[{"partyid":"{!contact.contactid}","partyidtype":"contact","addressused":"{!contact.emailaddress1}"}]&fromContact=true
关键参数说明:
{!contact.contactid}:动态获取当前联系人的GUID,确保关联到正确的联系人记录{!contact.emailaddress1}:自动填充联系人的主邮箱地址(如果用的是备用邮箱,改成emailaddress2即可)fromContact=true:自定义标记参数,用来识别是从联系人页跳转过来的,后续控制CC/BCC字段显示
把这个URL填到按钮的「打开URL」配置里,保存发布后,点击按钮就能直接跳转到预填好收件人的邮件表单了。
3. 隐藏邮件表单的CC和BCC字段
要实现仅从联系人按钮跳转时隐藏这两个字段,我们给邮件表单加个OnLoad事件脚本:
- 进入「邮件」实体的表单设计器,找到表单的「事件」选项卡
- 点击「添加」,创建新的JavaScript Web资源,写入以下代码:
function handleEmailFormLoad() { // 解析URL参数,判断是否来自联系人详情页 const urlParams = new URLSearchParams(window.location.search); const fromContact = urlParams.get('fromContact'); if (fromContact === 'true') { // 隐藏CC控件 Xrm.Page.getControl("cc").setVisible(false); // 隐藏BCC控件 Xrm.Page.getControl("bcc").setVisible(false); } }
- 把这个函数绑定到表单的「OnLoad」事件,勾选「启用」选项
- 保存并发布邮件表单
这样设置后,只有从联系人详情页的按钮跳转过来时,CC和BCC字段才会隐藏;其他场景打开邮件表单时,这两个字段仍正常显示。
额外注意事项
- 确保操作的用户拥有「联系人」和「邮件」实体的读写权限
- 发布解决方案后,建议清除浏览器缓存再测试,避免旧配置残留
- 如果你的环境中联系人表单有多个版本,要确保修改的是正在使用的表单
内容的提问来源于stack exchange,提问作者user193116
相关产品推荐
相关产品推荐

