Install
openclaw skills install @hejunhui-73/mama通用多账户 IMAP/SMTP 邮箱代理。用于检查邮箱、列出账号、搜索邮件、读取邮件正文/链接/附件、下载附件、生成回复草稿、转发邮件、显式发送邮件、标记已读/未读、移动邮件,以及按关键词和截止时间生成邮件巡检摘要。支持默认账号、指定账号和跨账号操作;从某账号读取的邮件应继续使用同一账号处理回复、转发和草稿发送,避免账号交叉。触发关键词:多账户邮箱智能体、邮箱智能体、检查邮箱、查看邮箱、搜索邮件、读取邮件、邮件附件、回复草稿、转发邮件、发送邮件、截止时间邮件、邮件巡检。
openclaw skills install @hejunhui-73/mama使用本 skill 代理一个或多个本地邮箱账号。优先通过 scripts/mail.py 执行单次邮箱操作,通过 scripts/process_digest.py 执行巡检摘要;需要配置、关键词、定时或故障细节时再读取 references/ 下的对应文档。
用户可见名称统一使用“多账户邮箱智能体”。
default_account;用户指定账号时添加 --account <账号ID>;跨账号搜索或巡检时添加 --all-accounts。forward --send。.temp/。首次触发时,检查本地连接配置是否存在:
scripts/mail_config.json:初始化脚本在用户本机生成的多账号 IMAP/SMTP 配置scripts/digest_config.py:初始化脚本在用户本机生成的巡检关键词、检查时间和推送偏好这些文件属于本地运行配置,不属于 skill 发布内容;缺少时读取 首次运行导引。只要求用户提供完整邮箱账号和客户端值;系统会根据邮箱域名识别常见服务商,未识别时尝试 imap.<domain>:993 和 smtp.<domain>:465。
python "<skill_dir>/scripts/init_config.py" --user "user@<域名>"
python "<skill_dir>/scripts/init_config.py" --account work --user "user@<域名>" --set-default
客户端值不要放进命令行参数。优先使用交互输入、临时文件、环境变量或 stdin:
python "<skill_dir>/scripts/init_config.py" --user "user@<域名>" --value-file "/tmp/mail-value.txt"
python "<skill_dir>/scripts/init_config.py" --user "user@<域名>" --value-env MAIL_VALUE
python "<skill_dir>/scripts/init_config.py" --user "user@<域名>" --value-stdin
统一入口是 scripts/mail.py。
列出账号:
python "<skill_dir>/scripts/mail.py" accounts
python "<skill_dir>/scripts/mail.py" accounts --json
搜索邮件:
python "<skill_dir>/scripts/mail.py" search --query "材料" --since 2026-07-01 --limit 20
python "<skill_dir>/scripts/mail.py" search --all-accounts --parallel-accounts 4 --query "材料" --limit 20
python "<skill_dir>/scripts/mail.py" search --from "sender@<域名>" --has-attachment --json
读取邮件正文、链接和附件信息:
python "<skill_dir>/scripts/mail.py" read --uid 123 --mailbox INBOX
python "<skill_dir>/scripts/mail.py" read --account work --uid 123 --mailbox INBOX --json
下载附件:
python "<skill_dir>/scripts/mail.py" attachments --uid 123 --output-dir "<skill_dir>/.temp/attachments"
默认阻止高风险扩展名附件;用户明确确认需要时才添加 --allow-risky。可用 --max-bytes 限制单个附件大小。
生成回复草稿:
python "<skill_dir>/scripts/mail.py" reply-draft --uid 123 --body "收到,我会按要求处理。"
转发邮件。默认生成草稿;只有用户明确要求立即发送时才添加 --send:
python "<skill_dir>/scripts/mail.py" forward --uid 123 --to "recipient@<域名>"
python "<skill_dir>/scripts/mail.py" forward --uid 123 --to "recipient@<域名>" --send
显式发送草稿或新邮件。send 必须添加 --confirm:
python "<skill_dir>/scripts/mail.py" send --draft "<skill_dir>/.temp/work_reply_draft_YYYYMMDD_HHMMSS.eml" --confirm
python "<skill_dir>/scripts/mail.py" send --to "recipient@<域名>" --subject "主题" --body "正文" --confirm
标记和移动。移动邮件必须添加 --confirm:
python "<skill_dir>/scripts/mail.py" mark-seen --uid 123
python "<skill_dir>/scripts/mail.py" mark-seen --uid 123 --unseen
python "<skill_dir>/scripts/mail.py" move --uid 123 --folder Archive --confirm
巡检入口是 scripts/process_digest.py。用于读取最近邮件,按关键词、截止时间和时间敏感事项生成摘要、待办和推送输出。
python "<skill_dir>/scripts/process_digest.py" --since-hours 2
python "<skill_dir>/scripts/process_digest.py" --all-accounts --since-hours 2
python "<skill_dir>/scripts/process_digest.py" --since-hours 2 --json
python "<skill_dir>/scripts/process_digest.py" --since-hours 2 --review
常用维护命令:
python "<skill_dir>/scripts/process_digest.py" --add-keyword "材料报送"
python "<skill_dir>/scripts/process_digest.py" --cleanup-days 7 --json
跨账号巡检会优先读取主账号,再并发读取其他账号;可用 --parallel-accounts 和 --account-timeout 调整并发数与等待时间。重复处理缓存保存在 .temp/processed_message_ids.json。
mail.py send 必须显式 --confirm。mail.py move 必须显式 --confirm。forward --send 视为用户显式直接发送。