You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power Apps问题:如何通过查找字段获取邮箱地址并发送邮件

Power Apps邮件发送失败问题分析与解决

问题出在两个核心点:

  1. SubmitForm是异步操作:你在按钮里连续执行SubmitForm(AddForm1)和SendEmail,SubmitForm还没完成提交、生成LastSubmit记录,就已经执行了邮件发送逻辑,导致拿不到正确的关联邮箱地址。
  2. 查找字段的引用方式错误:查找字段存储的是关联记录的ID和显示值,不是直接的邮箱字段,直接用DivisionEmailAddress无法从提交后的记录中获取对应部门的邮箱。

具体修改步骤:

  1. 简化确认按钮的代码:只保留提交表单的逻辑,把邮件发送和页面跳转放到表单的OnSuccess事件里(这个事件会在表单提交成功后自动触发,确保LastSubmit已经生成)。
    按钮代码改为:

    SubmitForm(AddForm1)
    
  2. 设置表单的OnSuccess属性:在这里处理邮件发送和页面跳转,正确获取关联部门的邮箱:

    // 保存提交后的记录
    Set(varSubmittedRecord, AddForm1.LastSubmit);
    // 通过查找字段的ID,从ICTDivList中匹配对应的部门邮箱
    Set(varDivisionEmail, LookUp(ICTDivList, ID = varSubmittedRecord.'ICT Division Name'.ID, DivisionEmailAddress));
    // 发送邮件
    Office365Outlook.SendEmail(varDivisionEmail, "Testing", "Services Requested:  " & varSubmittedRecord.Title);
    // 跳转页面
    Navigate(Screen1, ScreenTransition.Fade)
    

补充说明:

  • 用OnSuccess替代按钮里的连续执行,能确保只有在表单提交成功后才会发送邮件,避免异步操作导致的时序问题。
  • 通过LookUp根据查找字段的ID匹配ICTDivList的记录,能准确获取到对应部门的邮箱地址,不会出现数据不匹配的情况。

内容的提问来源于stack exchange,提问作者user3033348

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 10:30:12