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

Automation Anywhere社区版:识别邮件线程首封邮件并自动处理

Automation Anywhere社区版实现Outlook邮件线程处理方案

一、获取邮件唯一标识(替代VBScript)

社区版对VBScript的COM对象调用限制较多,推荐两种可靠方式获取MessageID/ConversationID:

1. 利用Automation Anywhere自带活动

在「Get Outlook Mail Messages」活动的高级设置中,勾选「Include Message ID」和「Include Conversation ID」选项,活动会直接将这些标识存入指定的变量列表,无需额外脚本。

2. Python脚本调用Outlook COM对象

如果自带活动无法满足需求,用社区版支持的Python集成实现:

import win32com.client

# 初始化Outlook连接
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
inbox = outlook.GetDefaultFolder(6)  # 6对应Outlook收件箱的默认ID
messages = inbox.Items.Restrict("[Unread] = True")  # 可选:仅处理未读邮件

for msg in messages:
    # 获取唯一标识
    message_id = msg.EntryID
    conversation_id = msg.ConversationID
    # 将结果输出到Automation Anywhere变量(通过脚本输出映射)
    print(f"{message_id}|{conversation_id}|{msg.Subject}")
  • 前置条件:Python环境安装pywin32库(执行pip install pywin32),并在Automation Anywhere中配置好Python路径。

二、对话历史检查与分支处理

1. 存储已处理线程标识

用以下方式记录对话历史:

  • Excel文件:创建一个工作表,列名设为MessageID、ConversationID、ProcessedTime,每次处理邮件后写入标识。
  • SQLite数据库:社区版支持SQLite连接,创建一张简单的表存储标识,查询效率更高。

2. 核心逻辑流程

  • 遍历每封邮件时,先查询存储介质,检查当前邮件的ConversationID或MessageID是否存在。
  • 无对话历史:调用「Reply to Outlook Mail Message」活动发送回复,然后将当前邮件的标识写入存储介质。
  • 匹配到线程:调用「Move Outlook Mail Message」活动,将邮件移动到预设的归档文件夹。

三、循环遍历的优化

  • 在「Get Outlook Mail Messages」中勾选「Mark as Read」,避免重复处理同一邮件。
  • 使用「For Each」循环遍历活动返回的邮件列表,逐一执行检查和处理逻辑。

四、关键注意事项

  • 确保Outlook已登录目标账号并处于运行状态,避免COM连接失败。
  • 测试阶段限制邮件数量(比如设置「Max Messages」为10),验证逻辑无误后再批量处理。
  • 若使用Python脚本,需在Automation Anywhere的「Run Script」活动中正确映射输出变量,供后续步骤使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:45:55