Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Sup...
文档
Email IMAP/SMTP
试用Connect to mainstream email providers and perform reliable send/receive workflows through IMAP and SMTP with password or OAuth2 authentication. Use when a us...
它能做什么
Connect to mainstream email providers and perform reliable send/receive workflows through IMAP and SMTP with password or OAuth2 authentication. Use when a us...
技能文档
Email IMAP/SMTP
Use this skill to automate email operations with standard IMAP/SMTP protocols using local scripts.
Workflow
- Confirm provider and auth mode (
passwordoroauth2). - Run connection checks first.
- List/search emails before reading full content.
- Send email only after previewing key fields (to/subject/body/attachments).
Security Rules
- Prefer app passwords over account login passwords in password mode.
- Prefer OAuth2 tokens for Gmail, Outlook, Yahoo, AOL, and Zoho.
- Do not print secrets in terminal output.
- Load credentials from environment variables whenever possible.
- Avoid storing real credentials in repository files.
Required Inputs
- Email address (login username)
- Authentication:
- Password mode: app password / authorization code
- OAuth2 mode: access token, or refresh token + client info
- IMAP host/port
- SMTP host/port
Use references/provider-presets.md for common provider host/port defaults.
Script
Run:
python scripts/email_ops.py --help
Subcommands:
check: Verify IMAP/SMTP login connectivity.list: List recent/unread email summaries.read: Read one email by UID.send: Send an email with optional HTML and attachments.token: Resolve OAuth2 access token (masked output by default).auth-url: Build OAuth2 browser login URL for authorization code flow.
Common Commands
Check mailbox connectivity:
python scripts/email_ops.py check --provider qq --email you@qq.com
Check connectivity with OAuth2 (Gmail):
python scripts/email_ops.py check --provider gmail --email you@gmail.com --auth-mode oauth2 --access-token ""
List unread emails:
python scripts/email_ops.py list --provider qq --email you@qq.com --unseen --limit 20
Read one email:
python scripts/email_ops.py read --provider qq --email you@qq.com --uid 12345
Send email:
python scripts/email_ops.py send --provider qq --email you@qq.com --to friend@example.com --subject "Test" --body "Hello from Codex"
Resolve a new OAuth2 token from refresh token:
python scripts/email_ops.py token --provider outlook --email you@outlook.com --auth-mode oauth2 --refresh-token "" --client-id "" --client-secret ""
Build OAuth2 authorization URL (Gmail example):
python scripts/email_ops.py --provider gmail --client-id "" --redirect-uri "http://localhost:8080/callback" auth-url
Environment Variables
EMAIL_ADDRESS: Login email address.EMAIL_PROVIDER: Provider preset key (for exampleqq,gmail,outlook,yahoo,aol,zoho,icloud).EMAIL_AUTH_MODE:auto/password/oauth2.EMAIL_APP_PASSWORDorEMAIL_PASSWORD: Password mode credential.EMAIL_ACCESS_TOKEN: OAuth2 access token.EMAIL_REFRESH_TOKEN: OAuth2 refresh token.EMAIL_TOKEN_ENDPOINT: OAuth2 token endpoint.EMAIL_AUTH_ENDPOINT: OAuth2 authorization endpoint.EMAIL_CLIENT_ID: OAuth2 client id.EMAIL_CLIENT_SECRET: OAuth2 client secret.EMAIL_REDIRECT_URI: OAuth2 redirect URI for auth-url.EMAIL_SCOPE: Optional scope for refresh request.EMAIL_IMAP_HOST,EMAIL_IMAP_PORT: Override IMAP endpoint.EMAIL_SMTP_HOST,EMAIL_SMTP_PORT: Override SMTP endpoint.EMAIL_SMTP_SSL:true/false, default from provider preset.
Troubleshooting
- Authentication failed in password mode: confirm app password and IMAP/SMTP permissions are enabled.
- Authentication failed in OAuth2 mode: confirm token has IMAP/SMTP scopes and token endpoint/client info are correct.
- SSL/TLS handshake failed: verify host/port pair and whether SMTP SSL is enabled.
- Empty list results: switch mailbox folder (
--mailbox) or remove filters.
相关技能
Operate the agent-email CLI to create disposable inboxes, poll for new mail, retrieve full message details, and manage local mailbox profiles. Use when the u...
通过 Gmail API 在聊天中读取、搜索、起草、回复并整理邮件。
summarize, triage, and draft actions for incoming email. use when the user wants chatgpt to check an inbox, identify important unread messages, group emails...
通过托管 OAuth 代理读写并管理 Gmail 邮件、会话、标签和草稿。
Use the Surface mail CLI to read and act on Gmail, Outlook, and generic IMAP/SMTP mail through one JSON-first contract. Prefer this skill when you need Outlo...