Power Automate流用动态内容选邮箱字段发信失败如何解决
固定邮箱可正常发送说明邮件操作本身配置无问题,故障核心是动态引用的Manager Email Id字段返回值不符合SMTP收件人格式要求,绝大多数情况是SharePoint列类型匹配错误、返回值带非邮箱字符导致的。
- 第一步 核查SharePoint列类型
进入对应SharePoint列表的列设置页面,确认Manager Email Id的列类型:- 若为人员或组类型:直接从动态面板选择该字段时,默认返回的是完整用户对象(含声明ID、显示名、ID等冗余信息),不是纯邮箱字符串,SMTP服务无法识别。
- 若为单行文本类型:大概率是字段值带前后空格、换行符等隐藏字符,导致邮箱格式校验失败。
- 第二步 人员类型列的正确取值方式
点击发送邮件操作收件人输入框的「表达式」选项卡,输入字段提取公式,直接取用户对象下的邮箱属性:
若值来自SharePoint触发器(如「当创建项时」)或「获取项」动作的输出,公式为:triggerOutputs()?['body/{列内部名}/Email']列内部名获取方式:打开SharePoint列表的列设置页,点击
Manager Email Id列,查看浏览器地址栏中Field=后的参数即为该列的真实内部名(带空格的列通常会被转成_x0020_格式,比如Manager_x0020_Email_x0020_Id),不要直接用显示名拼接公式。
若你是通过「获取经理」Office 365用户动作拿到的经理信息,直接选择该动作输出下的Mail属性即可,不要错选显示名、ID字段。 - 第三步 文本类型列的取值处理
若Manager Email Id是用单行文本列存储的邮箱地址,引用时套一层去空函数,过滤隐藏的无效字符:trim(triggerOutputs()?['body/{列内部名}']) - 第四步 配置校验
配置完成后手动触发一次测试运行,在运行历史中打开发送邮件动作的「原始输入」详情,确认To字段的值为纯邮箱格式(如manager@yourcompany.com),无多余的方括号、HTML标签、声明ID前缀等内容,格式校验通过后即可正常发送。
内容的提问来源于stack exchange,提问作者Jafrina Jabin
相关产品推荐
相关产品推荐

