QQ Mail

v1.0.0

Manage QQ Mail via IMAP/SMTP to read, send (with attachments), search emails by subject/sender/date, and list folders using Python.

1· 1.3k· 1 versions· 7 current· 7 all-time· Updated 3h ago· MIT-0
byleogao@pdpaer

QQ Mail Manager

Manage QQ邮箱 via standard IMAP/SMTP protocols using Python scripts.

Prerequisites

The user must enable IMAP/SMTP in QQ Mail settings and obtain an authorization code (授权码):

  1. Log in to mail.qq.com → Settings (设置) → Account (账户)
  2. Enable IMAP/SMTP service
  3. Generate an authorization code (授权码) — this is NOT the QQ password

Configuration

The skill reads credentials from environment variables:

  • QQMAIL_USER — QQ email address (e.g. 123456789@qq.com)
  • QQMAIL_AUTH_CODE — Authorization code from QQ Mail settings (授权码)

Available Operations

Read recent emails

python3 {baseDir}/scripts/qqmail.py inbox --limit 10

Shows: sender, subject, date, and a text preview of each email.

Read a specific email by index

python3 {baseDir}/scripts/qqmail.py read --index 1

Shows the full email content (text body).

Send an email

python3 {baseDir}/scripts/qqmail.py send --to "recipient@example.com" --subject "Hello" --body "Email content here"

Send with attachment

python3 {baseDir}/scripts/qqmail.py send --to "recipient@example.com" --subject "Report" --body "See attached" --attachment "/path/to/file.pdf"

Search emails

python3 {baseDir}/scripts/qqmail.py search --subject "keyword"
python3 {baseDir}/scripts/qqmail.py search --from "sender@example.com"
python3 {baseDir}/scripts/qqmail.py search --since "2026-01-01"
python3 {baseDir}/scripts/qqmail.py search --subject "meeting" --since "2026-02-01" --limit 5

List mail folders

python3 {baseDir}/scripts/qqmail.py folders

Read from a specific folder

python3 {baseDir}/scripts/qqmail.py inbox --folder "Sent Messages" --limit 5

Error Handling

  • If authentication fails: verify QQMAIL_USER and QQMAIL_AUTH_CODE are set correctly.
  • If IMAP is not enabled: guide the user to enable it in QQ Mail settings.
  • Connection errors may indicate network issues or proxy requirements.

Notes

  • QQ Mail IMAP server: imap.qq.com:993 (SSL)
  • QQ Mail SMTP server: smtp.qq.com:465 (SSL)
  • All scripts use Python 3 standard library only (no pip install needed).
  • Email content is decoded with charset detection for proper Chinese display.

Version tags

latestvk976kvyzz7gz26sn8ggta3n0qx8144yp

Runtime requirements

OSWindows · Linux · macOS
Binspython3
Primary envQQMAIL_AUTH_CODE