{"id":"8c28b2fd-4668-4e0f-83c7-fe0464f6d3fc","entityType":"agent","slug":"clawhub-upkuajing-upkuajing-email-tool","name":"Run enterprise bulk cold email marketing campaigns with full lifecycle email tracking covering sent, delivered, opened, read and replied statuses. Accessverified domain business emails to help exporters, sourcing agents and sales teams connect with purcha","canonicalUrl":"https://www.xpersona.co/agent/clawhub-upkuajing-upkuajing-email-tool","canonicalPath":"/agent/clawhub-upkuajing-upkuajing-email-tool","generatedAt":"2026-10-10T13:32:39.772Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:35:32.664Z","emptyReason":null},"description":"Run bulk corporate cold‑email campaigns and monitor delivery status. Gain verified domain‑based emails and analyze open‑and‑click metrics, helping exporters reach decision‑makers for global sales prospecting. Trigger: bulk cold email, email open rate tracker, business domain emails, mass‑mail for exporters, overseas lead generation, cross‑border email marketing","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-email-tool","sourceUrl":"https://clawhub.ai/upkuajing/upkuajing-email-tool","homepage":"https://clawhub.ai/upkuajing/skills/upkuajing-email-tool","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/upkuajing/upkuajing-email-tool","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/upkuajing/skills/upkuajing-email-tool","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Run enterprise bulk cold email marketing campaigns with full lifecycle email tracking covering sent, delivered, opened, read and replied statuses. Accessverifie"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:35:32.664Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:35:32.664Z","emptyReason":null},"stars":null,"forks":null,"downloads":1492,"packageName":null,"latestVersion":"1.0.4","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:35:32.664Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T10:35:32.664Z","lastCrawledAt":"2026-10-10T10:35:32.664Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T10:35:32.664Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.4","createdAt":"2026-08-24T09:06:53.044Z","changelog":"updated","fileCount":15,"zipByteSize":23266},{"version":"1.0.3","createdAt":"2026-07-16T08:55:27.319Z","changelog":"updated","fileCount":13,"zipByteSize":20396},{"version":"1.0.2","createdAt":"2026-07-16T03:42:22.193Z","changelog":"updated","fileCount":13,"zipByteSize":20272},{"version":"1.0.1","createdAt":"2026-07-06T04:06:29.364Z","changelog":"updated","fileCount":13,"zipByteSize":19835},{"version":"1.0.0","createdAt":"2026-04-17T11:41:43.747Z","changelog":"updated","fileCount":13,"zipByteSize":19899}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-email-tool","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17304xrt0p2xssnmr7datqzks83gvsr:upkuajing-email-tool` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/upkuajing/upkuajing-email-tool before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T13:32:39.771Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-upkuajing-upkuajing-email-tool/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T10:35:32.664Z","emptyReason":null},"readme":"Skill: Run enterprise bulk cold email marketing campaigns with full lifecycle email tracking covering sent, delivered, opened, read and replied statuses. Accessverified domain business emails to help exporters, sourcing agents and sales teams connect with purchasing decision-makers worldwide. Launch streamlined massemail campaigns and analyze open rate and click-through rate performance metrics for B2B lead generation. Powerful bulk mailing tools streamline overseas leadgeneration, global business expansion and export client acquisition workflows. Built exclusively for B2B cold outreach, cross-border e-commerce email marketingand global sales prospecting.\n\nOwner: upkuajing\n\nSummary: Run bulk corporate cold‑email campaigns and monitor delivery status. Gain verified domain‑based emails and analyze open‑and‑click metrics, helping exporters reach decision‑makers for global sales prospecting. Trigger: bulk cold email, email open rate tracker, business domain emails, mass‑mail for exporters, overseas lead generation, cross‑border email marketing\n\nTags: bulk cold-email outreach:1.0.4, business domain emails:1.0.4, campaign:1.0.4, cold-email:1.0.4, deliverability:1.0.4, email:1.0.4, email status tracking:1.0.4, email-marketing:1.0.4, latest:1.0.4, open-rate analysis:1.0.4, outreach:1.0.4, overseas lead generation:1.0.4, sales prospecting:1.0.4\n\nVersion history:\n\nv1.0.4 | 2026-08-24T09:06:53.044Z | user\n\nupdated\n\nv1.0.3 | 2026-07-16T08:55:27.319Z | user\n\nupdated\n\nv1.0.2 | 2026-07-16T03:42:22.193Z | user\n\nupdated\n\nv1.0.1 | 2026-07-06T04:06:29.364Z | user\n\nupdated\n\nv1.0.0 | 2026-04-17T11:41:43.747Z | user\n\nupdated\n\nArchive index:\n\nArchive v1.0.4: 15 files, 23266 bytes\n\nFiles: references/email-send-api.md (1046b), references/email-task-list-api.md (1150b), references/email-task-record-list-api.md (922b), references/skill-error-report-api.md (2070b), requirements.txt (14b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/error_report.py (1845b), scripts/mail_send.py (4580b), scripts/mail_task_list.py (3592b), scripts/mail_task_record_list.py (3879b), scripts/version_check.py (4933b), skill-card.md (2678b), SKILL.md (9611b), _meta.json (139b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: upkuajing-email-tool\ndescription: \"Run bulk corporate cold‑email campaigns and monitor delivery status. Gain verified domain‑based emails and analyze open‑and‑click metrics, helping exporters reach decision‑makers for global sales prospecting.\\n\\nTrigger: bulk cold email, email open rate tracker, business domain emails, mass‑mail for exporters, overseas lead generation, cross‑border email marketing\"\nmetadata: {\"version\":\"1.0.4\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"✉️\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Email Tool\n\nSend emails and track email task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's email service through:\n- **Email Send** (`mail_send.py`): Send emails to recipients\n- **Email Task List** (`mail_task_list.py`): View email task list with time range filter\n- **Email Task Record List** (`mail_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/mail_task_list.py`. **Do NOT use** shell compound commands like `cd scripts && python mail_task_list.py`.\n\n## Three Main APIs\n\n### Email Send (`mail_send.py`)\n\nSend emails to recipients.\n\n**Parameters**: See [Email Send API](references/email-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'\n```\n\n### Email Task List (`mail_task_list.py`)\n\nView email task list with optional time range filter.\n\n**Parameters**: See [Email Task List API](references/email-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### Email Task Record List (`mail_task_record_list.py`)\n\nView detailed records for a specific email task.\n\n**Parameters**: See [Email Task Record List API](references/email-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/mail_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n### **Report Skill Call Errors**\nWhen an API call fails or returns abnormal data (server error, timeout, malformed response, etc.), explain the anomaly to the user in natural language and ask whether to report it to the platform for troubleshooting. Only run the report after user confirmation:\n```bash\npython scripts/error_report.py --params '{\"requestPath\":\"/agent/mail/send\",\"requestId\":\"f47ac10b58cc4372a5670e02b2c3d479\",\"context\":\"Email send failed with a server error\"}'\n```\n- Do not report normal business conditions (insufficient balance, invalid API key, parameter errors) — handle them via their own flows\n- Error reporting does not incur query fees\n- **Parameters**: See [Error Report API](references/skill-error-report-api.md)\n\n## Fees\n\n**Email sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Email Send Billing Rules\n\n**Email sending is charged** — each send request incurs a fee based on the number of recipients.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an email\" | Email Send |\n| \"View my email tasks\" | Email Task List |\n| \"Check email delivery status\" | Email Task Record List |\n| \"Find tasks in a time range\" | Email Task List (with start_time/end_time) |\n\n### Email Send Flow\n\n1. **Prepare email content**: Subject, content, recipients\n2. **Execute send**: Use mail_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use mail_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use mail_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n- **Skill call errors / abnormal responses**: Explain to the user and, with user confirmation, report to the platform via `python scripts/error_report.py` (see [Report Skill Call Errors](#report-skill-call-errors))\n\n### API Documentation Reference\n\n- Email Send: Check [references/email-send-api.md](references/email-send-api.md)\n- Email Task List: Check [references/email-task-list-api.md](references/email-task-list-api.md)\n- Email Task Record List: Check [references/email-task-record-list-api.md](references/email-task-record-list-api.md)\n- Error Report: Check [references/skill-error-report-api.md](references/skill-error-report-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **Email sending is synchronous submission**: The API returns response immediately after submission, but the email server processes asynchronously; the `status` field in response indicates sending status (0-pending 1-sending 2-completed)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-email-tool\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787562413044\n}\n\nFile v1.0.4:references/email-send-api.md\n\n# 邮件发送 API 参考\n\n## python脚本参数\n- `--subject`：邮件主题（必填，最长250字符）\n- `--content`：邮件内容（必填）\n- `--emails`：收件人邮箱列表（必填，JSON数组格式）\n- `--send_name`：发送名称（非必填，默认 service，最长50字符）\n- `--email_name`：邮件名（非必填，默认 service，最长50字符）\n- `--reply_email`：回复邮箱（非必填）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.4:references/email-task-list-api.md\n\n# 邮件任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- attachments：附件列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.4:references/email-task-record-list-api.md\n\n# 邮件任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，1发送中 2发送成功 3发送失败 4对方已读）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- email：收件人邮箱\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（1发送中 2发送成功 3发送失败 4对方已读）\n- retryStatus：重试状态\n- subject：邮件主题\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.4:references/skill-error-report-api.md\n\n# Agent调用Skill异常上报 API 参考\n\n> 上报 Agent 调用 Skill 异常，用于平台侧问题追踪与优化。异常上报不产生查询费用。\n> 接口路径：`POST /agent/skill/error/report`\n> 鉴权：需要 Bearer 令牌（UPKUAJING_API_KEY）\n\n## python脚本参数\n\n- `--params`：JSON格式的上报参数（必填）\n- 未传 `skillId`/`skillVersion` 时，脚本会自动从当前 Skill 目录名与 SKILL.md 读取并填充\n- 必填参数：`skillId`、`skillVersion`、`requestId`、`requestPath`、`context`；其中 `requestId` 从出问题的请求响应（ApiResp.requestId）中获取\n\n## API请求参数\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| skillId | string | 是 | Skill 标识（最大128字符），如\"customs-analysis-area\" |\n| skillVersion | string | 是 | Skill 版本（最大32字符） |\n| agentName | string | 否 | Agent 名称（最大128字符） |\n| modelName | string | 否 | 模型名称（最大128字符） |\n| requestPath | string | 是 | 出问题的站内接口路径，以 / 开头（最大255字符），如\"/agent/customs/analysis/area\" |\n| requestId | string | 是 | 全请求唯一关联号（最大128字符），取失败请求响应中的 requestId |\n| requestTime | long | 否 | 请求发起时间戳（毫秒，≥0） |\n| requestParams | object | 否 | 请求参数（原始入参，敏感字段会自动脱敏；序列化后≤64KB） |\n| responseData | object | 否 | 响应数据（异常发生时的返回内容，敏感字段会自动脱敏；序列化后≤64KB） |\n| durationMs | long | 否 | 本次调用耗时（毫秒，≥0） |\n| context | string | 是 | 异常上下文（堆栈/错误信息，用于定位根因，最大2000字符） |\n\n## 响应数据\n\n### 外层结构\n\n- code（integer）：状态码，0 表示成功\n- msg（string）：提示信息\n- requestId（string）：全请求唯一关联号（32位无横线，与 MDC traceId 同值）\n\n### data 字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| reportId | long | 上报记录 ID |\n\nFile v1.0.4:skill-card.md\n\n## Description:\n\nRun bulk corporate cold-email campaigns through the UpKuaJing Open Platform API and track task, delivery, open, click, and read status.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[upkuajing](https://clawhub.ai/user/upkuajing)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal business users, exporters, sourcing agents, and sales teams use this skill to submit B2B email campaigns, inspect email task records, and review campaign performance signals through an UpKuaJing API account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Email sending can incur account fees.\n\nMitigation: Confirm recipients, content, and current pricing before any send operation.\n\nRisk: API-key handling may expose credentials if keys are passed on the command line or stored loosely.\n\nMitigation: Use UPKUAJING_API_KEY from a locked-down environment file and avoid command-line API-key arguments.\n\nRisk: Normal API use performs an automatic vendor version check.\n\nMitigation: Install only in environments where this additional vendor network call is acceptable.\n\nRisk: Error reports can expose sensitive campaign data if submitted with email bodies, recipient lists, or secrets.\n\nMitigation: Review and redact error-report context and request details before reporting failures.\n\n## Reference(s):\n\n- [UpKuaJing Skill Page](https://clawhub.ai/upkuajing/skills/upkuajing-email-tool)\n- [UpKuaJing Publisher Profile](https://clawhub.ai/user/upkuajing)\n- [UpKuaJing Homepage](https://www.upkuajing.com)\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n- [UpKuaJing OpenAPI Pricing](https://www.upkuajing.com/web/openapi/price.html)\n- [Email Send API](artifact/references/email-send-api.md)\n- [Email Task List API](artifact/references/email-task-list-api.md)\n- [Email Task Record List API](artifact/references/email-task-record-list-api.md)\n- [Skill Error Report API](artifact/references/skill-error-report-api.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance]\n\n**Output Format:** [Markdown guidance with inline shell commands and JSON API responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires Python and UPKUAJING_API_KEY; email sending may incur account fees.]\n\n## Skill Version(s):\n\n1.0.4 (source: server release evidence and artifact metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.4:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.3: 13 files, 20396 bytes\n\nFiles: references/email-send-api.md (1046b), references/email-task-list-api.md (1150b), references/email-task-record-list-api.md (922b), requirements.txt (14b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/mail_send.py (4196b), scripts/mail_task_list.py (3208b), scripts/mail_task_record_list.py (3495b), scripts/version_check.py (4933b), skill-card.md (2917b), SKILL.md (8555b), _meta.json (139b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: upkuajing-email-tool\ndescription: \"Run bulk corporate cold‑email campaigns and monitor delivery status. Gain verified domain‑based emails and analyze open‑and‑click metrics, helping exporters reach decision‑makers for global sales prospecting.\\n\\nTrigger: bulk cold email, email open rate tracker, business domain emails, mass‑mail for exporters, overseas lead generation, cross‑border email marketing\"\nmetadata: {\"version\":\"1.0.3\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"✉️\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Email Tool\n\nSend emails and track email task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's email service through:\n- **Email Send** (`mail_send.py`): Send emails to recipients\n- **Email Task List** (`mail_task_list.py`): View email task list with time range filter\n- **Email Task Record List** (`mail_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/mail_task_list.py`. **Do NOT use** shell compound commands like `cd scripts && python mail_task_list.py`.\n\n## Three Main APIs\n\n### Email Send (`mail_send.py`)\n\nSend emails to recipients.\n\n**Parameters**: See [Email Send API](references/email-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'\n```\n\n### Email Task List (`mail_task_list.py`)\n\nView email task list with optional time range filter.\n\n**Parameters**: See [Email Task List API](references/email-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### Email Task Record List (`mail_task_record_list.py`)\n\nView detailed records for a specific email task.\n\n**Parameters**: See [Email Task Record List API](references/email-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/mail_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**Email sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Email Send Billing Rules\n\n**Email sending is charged** — each send request incurs a fee based on the number of recipients.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an email\" | Email Send |\n| \"View my email tasks\" | Email Task List |\n| \"Check email delivery status\" | Email Task Record List |\n| \"Find tasks in a time range\" | Email Task List (with start_time/end_time) |\n\n### Email Send Flow\n\n1. **Prepare email content**: Subject, content, recipients\n2. **Execute send**: Use mail_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use mail_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use mail_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Email Send: Check [references/email-send-api.md](references/email-send-api.md)\n- Email Task List: Check [references/email-task-list-api.md](references/email-task-list-api.md)\n- Email Task Record List: Check [references/email-task-record-list-api.md](references/email-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **Email sending is synchronous submission**: The API returns response immediately after submission, but the email server processes asynchronously; the `status` field in response indicates sending status (0-pending 1-sending 2-completed)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-email-tool\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1784192127319\n}\n\nFile v1.0.3:references/email-send-api.md\n\n# 邮件发送 API 参考\n\n## python脚本参数\n- `--subject`：邮件主题（必填，最长250字符）\n- `--content`：邮件内容（必填）\n- `--emails`：收件人邮箱列表（必填，JSON数组格式）\n- `--send_name`：发送名称（非必填，默认 service，最长50字符）\n- `--email_name`：邮件名（非必填，默认 service，最长50字符）\n- `--reply_email`：回复邮箱（非必填）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.3:references/email-task-list-api.md\n\n# 邮件任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- attachments：附件列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.3:references/email-task-record-list-api.md\n\n# 邮件任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，1发送中 2发送成功 3发送失败 4对方已读）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- email：收件人邮箱\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（1发送中 2发送成功 3发送失败 4对方已读）\n- retryStatus：重试状态\n- subject：邮件主题\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nThis skill lets agents send bulk corporate cold-email campaigns through UpKuaJing and monitor task, delivery, open, click, and read status. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal sales, export, and sourcing teams use this skill to submit B2B cold-email campaigns and inspect campaign task records and engagement metrics. Agents can also guide users through API-key setup, balance checks, and fee-aware sending workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Paid bulk-email sends can create unexpected charges or unauthorized outreach. <br>\nMitigation: Confirm campaign purpose, recipient authorization, pricing, account balance, and explicit user approval before any send or top-up action. <br>\nRisk: Recipient addresses, message content, reply addresses, account data, and engagement metrics are transmitted to UpKuaJing. <br>\nMitigation: Use the skill only for lawful, authorized B2B campaigns and avoid sending sensitive or unrelated personal data. <br>\nRisk: The API key may be stored in plaintext at ~/.upkuajing/.env. <br>\nMitigation: Treat UPKUAJING_API_KEY as a secret, restrict local file permissions, avoid sharing logs or screenshots containing the key, and rotate the key if exposed. <br>\nRisk: The skill performs an automatic version check against the UpKuaJing API during requests. <br>\nMitigation: Review network behavior before deployment and account for this outbound check in environments with strict egress controls. <br>\n\n\n## Reference(s): <br>\n- [Email Send API](artifact/references/email-send-api.md) <br>\n- [Email Task List API](artifact/references/email-task-list-api.md) <br>\n- [Email Task Record List API](artifact/references/email-task-record-list-api.md) <br>\n- [UpKuaJing Homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI Pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, API calls, Guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON API responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python and UPKUAJING_API_KEY; paid send operations require explicit user confirmation before execution.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release evidence and skill metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.2: 13 files, 20272 bytes\n\nFiles: references/email-send-api.md (1046b), references/email-task-list-api.md (1150b), references/email-task-record-list-api.md (922b), requirements.txt (14b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/mail_send.py (4196b), scripts/mail_task_list.py (3208b), scripts/mail_task_record_list.py (3495b), scripts/version_check.py (4933b), skill-card.md (2872b), SKILL.md (8555b), _meta.json (139b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: upkuajing-email-tool\ndescription: \"Run bulk corporate cold‑email campaigns and monitor delivery status. Gain verified domain‑based emails and analyze open‑and‑click metrics, helping exporters reach decision‑makers for global sales prospecting.\\n\\nTrigger: bulk cold email, email open rate tracker, business domain emails, mass‑mail for exporters, overseas lead generation, cross‑border email marketing\"\nmetadata: {\"version\":\"1.0.2\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"✉️\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Email Tool\n\nSend emails and track email task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's email service through:\n- **Email Send** (`mail_send.py`): Send emails to recipients\n- **Email Task List** (`mail_task_list.py`): View email task list with time range filter\n- **Email Task Record List** (`mail_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/mail_task_list.py`. **Do NOT use** shell compound commands like `cd scripts && python mail_task_list.py`.\n\n## Three Main APIs\n\n### Email Send (`mail_send.py`)\n\nSend emails to recipients.\n\n**Parameters**: See [Email Send API](references/email-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'\n```\n\n### Email Task List (`mail_task_list.py`)\n\nView email task list with optional time range filter.\n\n**Parameters**: See [Email Task List API](references/email-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### Email Task Record List (`mail_task_record_list.py`)\n\nView detailed records for a specific email task.\n\n**Parameters**: See [Email Task Record List API](references/email-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/mail_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**Email sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Email Send Billing Rules\n\n**Email sending is charged** — each send request incurs a fee based on the number of recipients.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an email\" | Email Send |\n| \"View my email tasks\" | Email Task List |\n| \"Check email delivery status\" | Email Task Record List |\n| \"Find tasks in a time range\" | Email Task List (with start_time/end_time) |\n\n### Email Send Flow\n\n1. **Prepare email content**: Subject, content, recipients\n2. **Execute send**: Use mail_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use mail_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use mail_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Email Send: Check [references/email-send-api.md](references/email-send-api.md)\n- Email Task List: Check [references/email-task-list-api.md](references/email-task-list-api.md)\n- Email Task Record List: Check [references/email-task-record-list-api.md](references/email-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **Email sending is synchronous submission**: The API returns response immediately after submission, but the email server processes asynchronously; the `status` field in response indicates sending status (0-pending 1-sending 2-completed)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- linkedin-person-search — Search people from the LinkedIn source\n- global-company-person-search — Search people from the global company database\n- linkedin-company-search — Search companies from the LinkedIn source\n- global-company-search — Search companies from the global company database\n- global-company-shareholder — Query shareholder list from the global company database\n- global-company-employee — Query employee list from the global company database\n- global-company-person-colleague — Query colleague list from the global company database\n- global-company-person-alumni — Query alumni list from the global company database\n- global-company-person-experience — Query work experience list from the global company database\n- global-company-person-education — Query education history list from the global company database\n- global-company-person-school-detail — Query school detail from the global company database\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n- phone-validity-check — Check phone number validity\n- email-validity-check — Check email address validity\n- domain-validity-check — Check domain validity and security\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-email-tool\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1784173342193\n}\n\nFile v1.0.2:references/email-send-api.md\n\n# 邮件发送 API 参考\n\n## python脚本参数\n- `--subject`：邮件主题（必填，最长250字符）\n- `--content`：邮件内容（必填）\n- `--emails`：收件人邮箱列表（必填，JSON数组格式）\n- `--send_name`：发送名称（非必填，默认 service，最长50字符）\n- `--email_name`：邮件名（非必填，默认 service，最长50字符）\n- `--reply_email`：回复邮箱（非必填）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.2:references/email-task-list-api.md\n\n# 邮件任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- attachments：附件列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.2:references/email-task-record-list-api.md\n\n# 邮件任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，1发送中 2发送成功 3发送失败 4对方已读）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- email：收件人邮箱\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（1发送中 2发送成功 3发送失败 4对方已读）\n- retryStatus：重试状态\n- subject：邮件主题\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nRun bulk corporate cold-email campaigns through UpKuaJing and monitor delivery, open, click, read, and task status. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal business users, exporters, sourcing agents, and sales teams use this skill to send B2B email campaigns through UpKuaJing and inspect task-level delivery, open, click, and read status. Operators need an UpKuaJing API key and should confirm recipients, costs, and compliance obligations before sending. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Bulk email and tracking can create legal, consent, unsubscribe, disclosure, and recipient privacy obligations. <br>\nMitigation: Use only for intended campaigns with verified recipient consent, unsubscribe handling, tracking disclosure, and privacy review before sending. <br>\nRisk: The skill can perform real email-send, account, credential, and payment-related actions. <br>\nMitigation: Require an explicit preview and user confirmation before sending emails or creating account/payment actions, and restrict API key file permissions. <br>\nRisk: Version-check telemetry and external API calls may disclose operational metadata. <br>\nMitigation: Review or disable telemetry where possible and approve external API use before deployment. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill listing](https://clawhub.ai/upkuajing/skills/upkuajing-email-tool) <br>\n- [UpKuaJing publisher profile](https://clawhub.ai/user/upkuajing) <br>\n- [UpKuaJing homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n- [Email Send API reference](references/email-send-api.md) <br>\n- [Email Task List API reference](references/email-task-list-api.md) <br>\n- [Email Task Record List API reference](references/email-task-record-list-api.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, API calls, guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON API responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python and UPKUAJING_API_KEY; email sending can incur fees and should require explicit confirmation.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata and skill frontmatter) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.2:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.1: 13 files, 19835 bytes\n\nFiles: references/email-send-api.md (1046b), references/email-task-list-api.md (1150b), references/email-task-record-list-api.md (922b), requirements.txt (14b), scripts/auth.py (5358b), scripts/common.py (14556b), scripts/mail_send.py (4196b), scripts/mail_task_list.py (3208b), scripts/mail_task_record_list.py (3495b), scripts/version_check.py (4933b), skill-card.md (2560b), SKILL.md (7227b), _meta.json (139b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: upkuajing-email-tool\ndescription: Official skill for upkuajing (跨境魔方). Email tool API for sending emails and tracking email task status. Includes email sending, task list, and task record list APIs.\nmetadata: {\"version\":\"1.0.1\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"✉️\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Email Tool\n\nSend emails and track email task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's email service through:\n- **Email Send** (`mail_send.py`): Send emails to recipients\n- **Email Task List** (`mail_task_list.py`): View email task list with time range filter\n- **Email Task Record List** (`mail_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/mail_task_list.py`. **Do NOT use** shell compound commands like `cd scripts && python mail_task_list.py`.\n\n## Three Main APIs\n\n### Email Send (`mail_send.py`)\n\nSend emails to recipients.\n\n**Parameters**: See [Email Send API](references/email-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'\n```\n\n### Email Task List (`mail_task_list.py`)\n\nView email task list with optional time range filter.\n\n**Parameters**: See [Email Task List API](references/email-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### Email Task Record List (`mail_task_record_list.py`)\n\nView detailed records for a specific email task.\n\n**Parameters**: See [Email Task Record List API](references/email-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/mail_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**Email sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Email Send Billing Rules\n\n**Email sending is charged** — each send request incurs a fee based on the number of recipients.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an email\" | Email Send |\n| \"View my email tasks\" | Email Task List |\n| \"Check email delivery status\" | Email Task Record List |\n| \"Find tasks in a time range\" | Email Task List (with start_time/end_time) |\n\n### Email Send Flow\n\n1. **Prepare email content**: Subject, content, recipients\n2. **Execute send**: Use mail_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use mail_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use mail_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Email Send: Check [references/email-send-api.md](references/email-send-api.md)\n- Email Task List: Check [references/email-task-list-api.md](references/email-task-list-api.md)\n- Email Task Record List: Check [references/email-task-record-list-api.md](references/email-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **Email sending is synchronous submission**: The API returns response immediately after submission, but the email server processes asynchronously; the `status` field in response indicates sending status (0-pending 1-sending 2-completed)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-email-tool\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1783310789364\n}\n\nFile v1.0.1:references/email-send-api.md\n\n# 邮件发送 API 参考\n\n## python脚本参数\n- `--subject`：邮件主题（必填，最长250字符）\n- `--content`：邮件内容（必填）\n- `--emails`：收件人邮箱列表（必填，JSON数组格式）\n- `--send_name`：发送名称（非必填，默认 service，最长50字符）\n- `--email_name`：邮件名（非必填，默认 service，最长50字符）\n- `--reply_email`：回复邮箱（非必填）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.1:references/email-task-list-api.md\n\n# 邮件任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- attachments：附件列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.1:references/email-task-record-list-api.md\n\n# 邮件任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，1发送中 2发送成功 3发送失败 4对方已读）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- email：收件人邮箱\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（1发送中 2发送成功 3发送失败 4对方已读）\n- retryStatus：重试状态\n- subject：邮件主题\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nOfficial UpKuaJing email API skill for sending email campaigns and checking task and recipient delivery status. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExporters, marketers, and sales teams use this skill to send personalized outreach emails, inspect email task lists, and review per-task delivery, open, and click records through the UpKuaJing Open Platform API. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Email send requests can incur paid UpKuaJing API charges. <br>\nMitigation: Confirm fee-incurring sends or top-up actions with the user before execution. <br>\nRisk: The UpKuaJing API key may be stored locally in ~/.upkuajing/.env. <br>\nMitigation: Protect the local API key file and avoid exposing it in prompts, logs, or shared outputs. <br>\nRisk: API request or response payloads may include campaign, recipient, or account details if local API logging is enabled. <br>\nMitigation: Keep API logging disabled unless the user accepts local storage of request and response payloads. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/upkuajing/skills/upkuajing-email-tool) <br>\n- [Publisher profile](https://clawhub.ai/user/upkuajing) <br>\n- [UpKuaJing homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n- [Email Send API reference](references/email-send-api.md) <br>\n- [Email Task List API reference](references/email-task-list-api.md) <br>\n- [Email Task Record List API reference](references/email-task-record-list-api.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with Python command examples and JSON API responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python and UPKUAJING_API_KEY; email sends can incur paid API charges.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: release evidence and skill metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.1:requirements.txt\n\nhttpx>=0.23.0\n\nArchive v1.0.0: 13 files, 19899 bytes\n\nFiles: references/email-send-api.md (1046b), references/email-task-list-api.md (1150b), references/email-task-record-list-api.md (922b), requirements.txt (14b), scripts/auth.py (5517b), scripts/common.py (14556b), scripts/mail_send.py (4190b), scripts/mail_task_list.py (3202b), scripts/mail_task_record_list.py (3489b), scripts/version_check.py (4927b), skill-card.md (2679b), SKILL.md (7227b), _meta.json (139b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: upkuajing-email-tool\ndescription: Official skill for upkuajing (跨境魔方). Email tool API for sending emails and tracking email task status. Includes email sending, task list, and task record list APIs.\nmetadata: {\"version\":\"1.0.0\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"✉️\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Email Tool\n\nSend emails and track email task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's email service through:\n- **Email Send** (`mail_send.py`): Send emails to recipients\n- **Email Task List** (`mail_task_list.py`): View email task list with time range filter\n- **Email Task Record List** (`mail_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/mail_task_list.py`. **Do NOT use** shell compound commands like `cd scripts && python mail_task_list.py`.\n\n## Three Main APIs\n\n### Email Send (`mail_send.py`)\n\nSend emails to recipients.\n\n**Parameters**: See [Email Send API](references/email-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'\n```\n\n### Email Task List (`mail_task_list.py`)\n\nView email task list with optional time range filter.\n\n**Parameters**: See [Email Task List API](references/email-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### Email Task Record List (`mail_task_record_list.py`)\n\nView detailed records for a specific email task.\n\n**Parameters**: See [Email Task Record List API](references/email-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/mail_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10\n```\n\n## API Key and UpKuaJing Account\n\n- **API Key**: Stored in `~/.upkuajing/.env` file as `UPKUAJING_API_KEY`\n- **First check**: If not set, prompt user to provide or apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\n\n### **API Key Not Set**\nFirst check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;\nIf UPKUAJING_API_KEY is not set, prompt the user to choose:\n1. User has one: User provides it (manually add to ~/.upkuajing/.env file)\n2. User doesn't have one: Guide user to apply at [UpKuaJing Open Platform](https://developer.upkuajing.com/)\nWait for user selection;\n\n### **Account Top-up**\nWhen API response indicates insufficient balance, explain and guide user to top up:\n1. Create top-up order (`auth.py --new_rec_order`)\n2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;\n\n### **Get Account Information**\nUse this script to get account information for UPKUAJING_API_KEY: `auth.py --account_info`\n\n## Fees\n\n**Email sending API calls incur fees**, different interfaces have different billing methods.\n**Latest pricing**: Users can visit [Detailed Price Description](https://www.upkuajing.com/web/openapi/price.html)\nOr use: `python scripts/auth.py --price_info` (returns complete pricing for all interfaces)\n\n### Email Send Billing Rules\n\n**Email sending is charged** — each send request incurs a fee based on the number of recipients.\n\n### Task List & Record List Billing Rules\n\n**Free of charge** — No fees for task list and task record list queries.\n\n### Fee Confirmation Principle\n\n**Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.**\n\n## Workflow\n\n### Decision Guide\n\n| User Intent | Use API |\n|-------------|---------|\n| \"Send an email\" | Email Send |\n| \"View my email tasks\" | Email Task List |\n| \"Check email delivery status\" | Email Task Record List |\n| \"Find tasks in a time range\" | Email Task List (with start_time/end_time) |\n\n### Email Send Flow\n\n1. **Prepare email content**: Subject, content, recipients\n2. **Execute send**: Use mail_send.py with appropriate parameters\n3. **Get response**: API returns task result synchronously\n\n### Task Check Flow\n\n1. **View task list**: Use mail_task_list.py with optional time filter\n2. **Get task ID**: From the task list response\n3. **View task records**: Use mail_task_record_list.py with task_id\n\n## Error Handling\n\n- **API key invalid/non-existent**: Check `UPKUAJING_API_KEY` in `~/.upkuajing/.env` file\n- **Insufficient balance**: Guide user to top up\n- **Invalid parameters**: **Must first check the corresponding API documentation in references/ directory**, get correct parameter names and formats from documentation, do not guess\n\n### API Documentation Reference\n\n- Email Send: Check [references/email-send-api.md](references/email-send-api.md)\n- Email Task List: Check [references/email-task-list-api.md](references/email-task-list-api.md)\n- Email Task Record List: Check [references/email-task-record-list-api.md](references/email-task-record-list-api.md)\n\n## Notes\n\n- File paths use forward slashes on all platforms\n- **Do not guess parameter names**, get accurate parameter names and formats from documentation\n- **Prohibit outputting technical parameter format**: Do not display code-style parameters in responses, convert to natural language\n- **Do not estimate or guess fees** — use `python scripts/auth.py --price_info` to get accurate pricing information\n- **Email sending is synchronous submission**: The API returns response immediately after submission, but the email server processes asynchronously; the `status` field in response indicates sending status (0-pending 1-sending 2-completed)\n\n## Related Skills\n\nOther UpKuaJing skills you might find useful:\n\n- upkuajing-global-company-people-search — Global company and people search\n- upkuajing-customs-trade-company-search — Search customs trade companies\n- upkuajing-map-merchants-search — Map-based merchant search\n- upkuajing-contact-info-validity-check — Check contact info validity\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-email-tool\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1776426103747\n}\n\nFile v1.0.0:references/email-send-api.md\n\n# 邮件发送 API 参考\n\n## python脚本参数\n- `--subject`：邮件主题（必填，最长250字符）\n- `--content`：邮件内容（必填）\n- `--emails`：收件人邮箱列表（必填，JSON数组格式）\n- `--send_name`：发送名称（非必填，默认 service，最长50字符）\n- `--email_name`：邮件名（非必填，默认 service，最长50字符）\n- `--reply_email`：回复邮箱（非必填）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.0:references/email-task-list-api.md\n\n# 邮件任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- attachments：附件列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题\n\nFile v1.0.0:references/email-task-record-list-api.md\n\n# 邮件任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，1发送中 2发送成功 3发送失败 4对方已读）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- email：收件人邮箱\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（1发送中 2发送成功 3发送失败 4对方已读）\n- retryStatus：重试状态\n- subject：邮件主题\n- sendTime：发送时间（秒级时间戳）\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nOfficial skill for UpKuaJing that sends emails and tracks email task status through email sending, task list, and task record list APIs. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[upkuajing](https://clawhub.ai/user/upkuajing) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal teams, marketers, exporters, and sales users can use this skill to send personalized email campaigns, inspect campaign task lists, and review delivery, open, and click status for individual task records. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends email content and recipient data to an external email provider. <br>\nMitigation: Use only with recipient lists and message content approved for UpKuaJing processing, and confirm the target recipients before sending. <br>\nRisk: The security summary flags account, balance, recharge/payment, and background version-check behavior beyond basic email sending. <br>\nMitigation: Review the requested action before execution and require explicit confirmation before any recharge, payment, or paid email-send operation. <br>\nRisk: The skill requires a sensitive API credential. <br>\nMitigation: Store UPKUAJING_API_KEY only in the expected environment or user configuration file and avoid sharing logs or outputs that may expose account details. <br>\n\n\n## Reference(s): <br>\n- [Email Send API Reference](references/email-send-api.md) <br>\n- [Email Task List API Reference](references/email-task-list-api.md) <br>\n- [Email Task Record List API Reference](references/email-task-record-list-api.md) <br>\n- [UpKuaJing Homepage](https://www.upkuajing.com) <br>\n- [UpKuaJing Open Platform](https://developer.upkuajing.com/) <br>\n- [UpKuaJing OpenAPI Pricing](https://www.upkuajing.com/web/openapi/price.html) <br>\n- [ClawHub Skill Page](https://clawhub.ai/upkuajing/upkuajing-email-tool) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, JSON, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown guidance with shell commands and JSON API responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires Python and UPKUAJING_API_KEY; email sending may incur provider fees.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: release evidence and SKILL.md metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.0:requirements.txt\n\nhttpx>=0.23.0","readmeExcerpt":"Skill: Run enterprise bulk cold email marketing campaigns with full lifecycle email tracking covering sent, delivered, opened, read and replied statuses. Accessverified domain business emails to help exporters, sourcing agents and sales teams connect with purchasing decision-makers worldwide. Launch streamlined massemail campaigns and analyze open rate and click-through rate performance metrics for B2B lead generatio","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'"},{"language":"bash","snippet":"# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10"},{"language":"bash","snippet":"# Get records for task ID 1496\npython scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10\n\n# Filter by time range and status\npython scripts/mail_task_record_list.py \\\n  --task_id 1496 \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --status 2 \\\n  --page_no 1 \\\n  --page_size 10"},{"language":"bash","snippet":"python scripts/error_report.py --params '{\"requestPath\":\"/agent/mail/send\",\"requestId\":\"f47ac10b58cc4372a5670e02b2c3d479\",\"context\":\"Email send failed with a server error\"}'"},{"language":"bash","snippet":"# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'"},{"language":"bash","snippet":"# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: upkuajing-email-tool\ndescription: \"Run bulk corporate cold‑email campaigns and monitor delivery status. Gain verified domain‑based emails and analyze open‑and‑click metrics, helping exporters reach decision‑makers for global sales prospecting.\\n\\nTrigger: bulk cold email, email open rate tracker, business domain emails, mass‑mail for exporters, overseas lead generation, cross‑border email marketing\"\nmetadata: {\"version\":\"1.0.4\",\"homepage\":\"https://www.upkuajing.com\",\"clawdbot\":{\"emoji\":\"✉️\",\"requires\":{\"bins\":[\"python\"],\"env\":[\"UPKUAJING_API_KEY\"]},\"primaryEnv\":\"UPKUAJING_API_KEY\"}}\n---\n\n# UpKuaJing Email Tool\n\nSend emails and track email task status using the UpKuaJing Open Platform API.\n\n## Overview\n\nThis skill provides access to UpKuaJing's email service through:\n- **Email Send** (`mail_send.py`): Send emails to recipients\n- **Email Task List** (`mail_task_list.py`): View email task list with time range filter\n- **Email Task Record List** (`mail_task_record_list.py`): View detailed records for a specific task\n\n## Running Scripts\n\n### Environment Setup\n\n1. **Check Python**: `python --version`\n2. **Install dependencies**: `pip install -r requirements.txt`\n\nScript directory: `scripts/*.py`\nRun example: `python scripts/*.py`\n\n**Important**: Always use direct script invocation like `python scripts/mail_task_list.py`. **Do NOT use** shell compound commands like `cd scripts && python mail_task_list.py`.\n\n## Three Main APIs\n\n### Email Send (`mail_send.py`)\n\nSend emails to recipients.\n\n**Parameters**: See [Email Send API](references/email-send-api.md)\n\n**Examples**:\n```bash\n# Send a simple email\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send email with reply address\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --reply_email \"support@example.com\" \\\n  --emails '[\"recipient@example.com\"]'\n\n# Send to multiple recipients\npython scripts/mail_send.py \\\n  --subject \"Test Email\" \\\n  --content \"This is the email content\" \\\n  --emails '[\"user1@example.com\",\"user2@example.com\"]'\n```\n\n### Email Task List (`mail_task_list.py`)\n\nView email task list with optional time range filter.\n\n**Parameters**: See [Email Task List API](references/email-task-list-api.md)\n\n**Examples**:\n```bash\n# Get task list (first page, 10 items)\npython scripts/mail_task_list.py --page_no 1 --page_size 10\n\n# Filter by time range\npython scripts/mail_task_list.py \\\n  --start_time 1775812273 \\\n  --end_time 1775900000 \\\n  --page_no 1 \\\n  --page_size 10\n\n# Filter by status (0-待发送 1-发送中 2-发送完成)\npython scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10\n```\n\n### Email Task Record List (`mail_task_record_list.py`)\n\nView detailed records for a specific email task.\n\n**Parameters**: See [Email Task Record List API](references/email-task-record-list-api.md)\n\n**Examples**:\n```bash\n# Get records for task ID 1496\npython scripts/mail_ta"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn76ywjzma121r2rh959ejsf49834c6x\",\n  \"slug\": \"upkuajing-email-tool\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1787562413044\n}"},{"path":"references/email-send-api.md","content":"# 邮件发送 API 参考\n\n## python脚本参数\n- `--subject`：邮件主题（必填，最长250字符）\n- `--content`：邮件内容（必填）\n- `--emails`：收件人邮箱列表（必填，JSON数组格式）\n- `--send_name`：发送名称（非必填，默认 service，最长50字符）\n- `--email_name`：邮件名（非必填，默认 service，最长50字符）\n- `--reply_email`：回复邮箱（非必填）\n\n## 响应数据\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题"},{"path":"references/email-task-list-api.md","content":"# 邮件任务列表 API 参考\n\n## python脚本参数\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，0-待发送 1-发送中 2-发送完成）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：任务列表\n\n### 任务信息\n- id：任务ID\n- name：任务名称\n- sendName：发送名称\n- sendEmail：发送邮箱\n- replyEmail：回复邮箱\n- tos：收件人列表（JSON数组字符串）\n- attachments：附件列表（JSON数组字符串）\n- numbTos：收件人总数\n- numbSend：已发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（0-待发送 1-发送中 2-发送完成）\n- priceTotal：总费用（单位：分钱(RMB)）\n- priceRebate：退回费用（单位：分钱(RMB)）\n- priceReal：实际费用（单位：分钱(RMB)）\n- content：邮件内容\n- subject：邮件主题"},{"path":"references/email-task-record-list-api.md","content":"# 邮件任务明细列表 API 参考\n\n## python脚本参数\n- `--task_id`：任务ID（必填）\n- `--page_no`：页码（必填，默认1）\n- `--page_size`：页大小（必填，默认10）\n- `--start_time`：开始时间（非必填，秒级时间戳）\n- `--end_time`：结束时间（非必填，秒级时间戳）\n- `--status`：发送状态（非必填，1发送中 2发送成功 3发送失败 4对方已读）\n\n## 响应数据\n\n### 分页信息\n- total：总记录数\n- pageNo：当前页码\n- pageSize：页大小\n- list：明细列表\n\n### 明细信息\n- id：明细ID\n- taskId：任务ID\n- email：收件人邮箱\n- numbSend：发送数\n- numbSuccess：成功数\n- numbFail：失败数\n- numbOpen：打开数\n- numbClick：点击数\n- status：状态（1发送中 2发送成功 3发送失败 4对方已读）\n- retryStatus：重试状态\n- subject：邮件主题\n- sendTime：发送时间（秒级时间戳）"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1172,"uniquenessScore":35,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:35:32.664Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T10:35:32.664Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T13:32:39.772Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}