用途:说明 ServiceNow 实例接收邮件后的处理机制,帮助排查“邮件到了却没有生成记录”的问题。内容围绕邮件到达后的流程:实例轮询 sys_email_account 中的邮箱,向 sys_email 插入 type=received 的行,平台将其分类为 new、reply 或 forward 并写入 receive_type,随后先执行入站邮件 flow,再由激活的入站邮件 action 按 order 从小到大依次评估。
主要能力与要点:一是顺序,flow 优先于 action,flow 若发出停止处理,邮件即结束,只有未匹配任何 flow 的邮件才落到 action;action 按 order 升序执行,stop_processing=true 会抑制其后所有匹配 action,文档示例暗示影响范围是实例级而非按目标表,且 order 必须唯一,否则可能全部被评估。二是列名,真实列为 table、type、action、filter_condition、condition_script、script、template、reply_email、stop_processing、order、event_name;snow_inbound_email_action 的 target_table、action_type 参数并不写入预期列,后者枚举 record|forward|reply|ignore 会落到 type。建议改用 snow_record_manage 创建,再用 snow_query_table 回读确认。update 会先套用默认值再比对变更,可能顺带重写 type、order、stop_processing、active。三是条件与脚本,filter_condition 是针对 sys_email 的编码查询,结尾为 ^EQ,需使用 subject、body、recipients、direct、copied、blind_copied、user、user_id、receive_type 等真实列;脚本仅支持 ES5,运行于 Rhino,多参数使用 current、event、email、logger。
限制:条件中不可使用 from、cc、bcc 或目标表字段;入站 action 属元数据,会进入 update set,但相关工具未做拦截,需先自行打开 update set。资料中关于部分枚举取值与状态值的确认程度有限,缺失事实暂未提供。