Coding

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 purchas

Try it

Send emails through UpKuaJing's API and track each task from submission to completion.

What it does

Send emails to one or many recipients and follow each batch through UpKuaJing's task system. Pull a paginated task list filtered by time range or sending status, then drill into a single task to see per-recipient records. The skill wraps three Python scripts that call UpKuaJing's email send, task list, and task record list endpoints, and reads the API key from ~/.upkuajing/.env.

When to use it

  • Sending an email to one recipient
  • Sending the same message to multiple recipients in one call
  • Listing email tasks inside a time window or by status
  • Inspecting per-recipient records for a specific task ID

The skill document

UpKuaJing Email Tool

Send emails and track email task status using the UpKuaJing Open Platform API.

Overview

This skill provides access to UpKuaJing's email service through:

  • Email Send (mail_send.py): Send emails to recipients
  • Email Task List (mail_task_list.py): View email task list with time range filter
  • Email Task Record List (mail_task_record_list.py): View detailed records for a specific task

Running Scripts

Environment Setup

  1. Check Python: python --version
  2. Install dependencies: pip install -r requirements.txt

Script directory: scripts/*.py Run example: python scripts/*.py

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.

Three Main APIs

Email Send (mail_send.py)

Send emails to recipients.

Parameters: See Email Send API

Examples:

# Send a simple email
python scripts/mail_send.py \
  --subject "Test Email" \
  --content "This is the email content" \
  --emails '["recipient@example.com"]'

# Send email with reply address
python scripts/mail_send.py \
  --subject "Test Email" \
  --content "This is the email content" \
  --reply_email "support@example.com" \
  --emails '["recipient@example.com"]'

# Send to multiple recipients
python scripts/mail_send.py \
  --subject "Test Email" \
  --content "This is the email content" \
  --emails '["user1@example.com","user2@example.com"]'

Email Task List (mail_task_list.py)

View email task list with optional time range filter.

Parameters: See Email Task List API

Examples:

# Get task list (first page, 10 items)
python scripts/mail_task_list.py --page_no 1 --page_size 10

# Filter by time range
python scripts/mail_task_list.py \
  --start_time 1775812273 \
  --end_time 1775900000 \
  --page_no 1 \
  --page_size 10

# Filter by status (0-待发送 1-发送中 2-发送完成)
python scripts/mail_task_list.py --status 2 --page_no 1 --page_size 10

Email Task Record List (mail_task_record_list.py)

View detailed records for a specific email task.

Parameters: See Email Task Record List API

Examples:

# Get records for task ID 1496
python scripts/mail_task_record_list.py --task_id 1496 --page_no 1 --page_size 10

# Filter by time range and status
python scripts/mail_task_record_list.py \
  --task_id 1496 \
  --start_time 1775812273 \
  --end_time 1775900000 \
  --status 2 \
  --page_no 1 \
  --page_size 10

API Key and UpKuaJing Account

  • API Key: Stored in ~/.upkuajing/.env file as UPKUAJING_API_KEY
  • First check: If not set, prompt user to provide or apply at UpKuaJing Open Platform

API Key Not Set

First check if the ~/.upkuajing/.env file has UPKUAJING_API_KEY; If UPKUAJING_API_KEY is not set, prompt the user to choose:

  1. User has one: User provides it (manually add to ~/.upkuajing/.env file)
  2. User doesn't have one: Guide user to apply at UpKuaJing Open Platform Wait for user selection;

Account Top-up

When API response indicates insufficient balance, explain and guide user to top up:

  1. Create top-up order (auth.py --new_rec_order)
  2. Based on order response, send payment page URL to user, guide user to open URL and pay, user confirms after successful payment;

Get Account Information

Use this script to get account information for UPKUAJING_API_KEY: auth.py --account_info

Fees

Email sending API calls incur fees, different interfaces have different billing methods. Latest pricing: Users can visit Detailed Price Description Or use: python scripts/auth.py --price_info (returns complete pricing for all interfaces)

Email Send Billing Rules

Email sending is charged — each send request incurs a fee based on the number of recipients.

Task List & Record List Billing Rules

Free of charge — No fees for task list and task record list queries.

Fee Confirmation Principle

Any operation that incurs fees must first inform and wait for explicit user confirmation. Do not execute in the same message as the notification.

Workflow

Decision Guide

User IntentUse API
"Send an email"Email Send
"View my email tasks"Email Task List
"Check email delivery status"Email Task Record List
"Find tasks in a time range"Email Task List (with start_time/end_time)

Email Send Flow

  1. Prepare email content: Subject, content, recipients
  2. Execute send: Use mail_send.py with appropriate parameters
  3. Get response: API returns task result synchronously

Task Check Flow

  1. View task list: Use mail_task_list.py with optional time filter
  2. Get task ID: From the task list response
  3. View task records: Use mail_task_record_list.py with task_id

Error Handling

  • API key invalid/non-existent: Check UPKUAJING_API_KEY in ~/.upkuajing/.env file
  • Insufficient balance: Guide user to top up
  • Invalid parameters: Must first check the corresponding API documentation in references/ directory, get correct parameter names and formats from documentation, do not guess

API Documentation Reference

  • Email Send: Check references/email-send-api.md
  • Email Task List: Check references/email-task-list-api.md
  • Email Task Record List: Check references/email-task-record-list-api.md

Notes

  • File paths use forward slashes on all platforms
  • Do not guess parameter names, get accurate parameter names and formats from documentation
  • Prohibit outputting technical parameter format: Do not display code-style parameters in responses, convert to natural language
  • Do not estimate or guess fees — use python scripts/auth.py --price_info to get accurate pricing information
  • 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)

Other UpKuaJing skills you might find useful:

  • linkedin-person-search — Search people from the LinkedIn source
  • global-company-person-search — Search people from the global company database
  • linkedin-company-search — Search companies from the LinkedIn source
  • global-company-search — Search companies from the global company database
  • global-company-shareholder — Query shareholder list from the global company database
  • global-company-employee — Query employee list from the global company database
  • global-company-person-colleague — Query colleague list from the global company database
  • global-company-person-alumni — Query alumni list from the global company database
  • global-company-person-experience — Query work experience list from the global company database
  • global-company-person-education — Query education history list from the global company database
  • global-company-person-school-detail — Query school detail from the global company database
  • upkuajing-global-company-people-search — Global company and people search
  • upkuajing-customs-trade-company-search — Search customs trade companies
  • upkuajing-map-merchants-search — Map-based merchant search
  • upkuajing-contact-info-validity-check — Check contact info validity
  • phone-validity-check — Check phone number validity
  • email-validity-check — Check email address validity
  • domain-validity-check — Check domain validity and security

Related skills

支持发送个性化邮件,自动追踪邮件打开、点击及回复数据,助力企业高效开展跨境客户触达与海外营销推广,适用于外贸开发、客户跟进与跨境私域运营。

1 installs

B2B outreach toolkit: send bulk cold email and global SMS, harvest Google Maps merchants, and validate contact info (phone/WhatsApp, email, domain) before reaching out. Monitor email/SMS delivery status, cleanse CRM contact lists, and run end-to-end cross-border outreach campaigns. Trigger: bulk cold email, email send, email open rate tracker, business domain emails, mass mail for exporters, global bulk SMS, two-way SMS replies, SMS delivery reports, cross-border SMS marketing, Google maps business scraper, merchant data download, radius-based lead search, distributor sourcing, phone number validation, WhatsApp status check, email address validation, domain validity security check, CRM data cleansing, bulk SMS pre-verification, B2B outreach campaign

2 installs

Creates professional cold email sequences, follow-up templates, and outreach campaigns. Builds multi-step sequences with personalization tokens, A/B subject...

Verify email validity and format, cut email bounce‑rates and clean contact lists for exporters, recruiters and B2B sales teams. Trigger: email address validation, reduce email bounce rate, email‑list scrubbing, CRM data cleansing, cold outreach optimization

1 installs