name: sog description: Standards Ops Gadget — CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV. Open-standards alternative to gog (Google) and mog (Microsoft). homepage: https://github.com/visionik/sogcli metadata: {"clawdbot":{"emoji":"📬","requires":{"bins":["sog"]},"install":[{"id":"go","kind":"go","package":"github.com/visionik/sogcli/cmd/sog@latest","bins":["sog"],"label":"Install sog (go install)"}]}}
CLI for IMAP/SMTP/CalDAV/CardDAV/WebDAV. Open-standards alternative to gog (Google) and mog (Microsoft).
sog auth add you@fastmail.com --discover
sog auth test
sog mail list
--account, -a Account email to use ($SOG_ACCOUNT)
--json JSON output (for scripting)
--plain TSV output (parseable)
--force Skip confirmations
--no-input Never prompt (CI mode)
--verbose, -v Debug logging
--ai-help Detailed help text
sog auth add <email> [flags]
--discover Auto-discover servers from DNS
--imap-host IMAP server hostname
--imap-port IMAP port (default: 993)
--smtp-host SMTP server hostname
--smtp-port SMTP port (default: 587)
--caldav-url CalDAV server URL
--carddav-url CardDAV server URL
--webdav-url WebDAV server URL
--password Password (stored in keychain)
sog auth list # List accounts
sog auth test [email] # Test connection
sog auth remove <email> # Remove account
sog auth password <email> # Set protocol-specific passwords
--imap, --smtp, --caldav, --carddav, --webdav
sog mail list [folder]
--max N Maximum messages (default: 20)
--unseen Only unread messages
sog mail get <uid>
--headers Headers only
--raw Raw RFC822 format
sog mail search <query>
# IMAP SEARCH syntax: FROM, TO, SUBJECT, SINCE, BEFORE, etc.
# Example: sog mail search "FROM john SINCE 1-Jan-2026"
sog mail send --to <email> --subject <text> [flags]
--to Recipient(s)
--cc CC recipient(s)
--bcc BCC recipient(s)
--subject Subject line
--body Message body
--body-file Read body from file (- for stdin)
--body-html HTML body content
sog mail reply <uid> --body <text>
sog mail forward <uid> --to <email>
sog mail move <uid> <folder>
sog mail copy <uid> <folder>
sog mail flag <uid> <flag> # Flags: seen, flagged, answered, deleted
sog mail unflag <uid> <flag>
sog mail delete <uid>
sog folders list
sog folders create <name>
sog folders delete <name>
sog folders rename <old> <new>
sog drafts list
sog drafts create [flags] # Same flags as mail send
sog drafts send <uid>
sog drafts delete <uid>
sog cal list [calendar] --from Start date (default: today) --to End date (default: +30d) --max Maximum events sog cal get <uid> sog cal search <query> # Search in title/description/location sog cal today [calendar] sog cal week [calendar] sog cal create <title> --start <datetime> [flags] --start Start time (YYYY-MM-DDTHH:MM or YYYY-MM-DD for all-day) --end End time --duration Duration (1h, 30m) --location Location --description Description sog cal update <uid> [flags] # Same flags as create sog cal delete <uid> sog cal calendars # List calendars小葱技能站7w4.net,专业的AI技能分享平台。
sog contacts list [address-book]
--max Maximum contacts
sog contacts get <uid>
sog contacts search <query> # Search name/email/phone
sog contacts create <name> [flags]
-e, --email Email address(es)
-p, --phone Phone number(s)
--org Organization
--title Job title
--note Note
sog contacts update <uid> [flags] # Same flags as create
sog contacts delete <uid>
sog contacts books # List address books
sog tasks list [list]
--all Include completed tasks
sog tasks add <title> [flags]
--due Due date (YYYY-MM-DD)
-p, --priority Priority (1-9, 1=highest)
-d, --description Description
sog tasks get <uid>
sog tasks update <uid> [flags] # Same flags as add
sog tasks done <uid> # Mark complete
sog tasks undo <uid> # Mark incomplete
sog tasks delete <uid>
sog tasks clear # Delete all completed tasks
sog tasks due <date> # Tasks due by date
sog tasks overdue # Overdue tasks
sog tasks lists # List task lists
sog drive ls [path]
-l Long format with details
--all Show hidden files
sog drive get <path> # Get file metadata
sog drive download <remote> [local]
sog drive upload <local> [remote]
sog drive mkdir <path>
sog drive delete <path>
sog drive move <src> <dst>
sog drive copy <src> <dst>
sog drive cat <path> # Output file to stdout
sog invite send <summary> <attendees>... --start <datetime> [flags]
--start Start time
--duration Duration (default: 1h)
--location Location
--description Description
sog invite reply <file> --status <accept|decline|tentative>
--comment Optional comment
sog invite cancel <uid> <attendees>...
sog invite parse <file> # Parse .ics file
sog invite preview <summary> <attendees>... --start <datetime>
sog idle [folder] # Watch for new mail (push notifications)
--timeout Timeout in seconds
--json: One JSON object per line (JSONL)--plain: Tab-separated values (TSV)# List recent emails
sog mail list --max 10
# Send an email
sog mail send --to user@example.com --subject "Hello" --body "Hi there"
sog mail send --to user@example.com --subject "Report" --body-file report.md
cat draft.txt | sog mail send --to user@example.com --subject "Hi" --body-file -
# Today's calendar
sog cal today
# Create a meeting with invite
sog invite send "Team Sync" alice@example.com bob@example.com \
--start "2026-01-25T14:00" --duration 30m --location "Zoom"
# Add a task
sog tasks add "Review PR" --due 2026-01-26 -p 1
# Upload a file
sog drive upload report.pdf /documents/
# Search contacts
sog contacts search "John"
Other standards-compliant providers should work but have not been tested yet.
Passwords are stored securely in the native system credential store:
| Platform | Backend |
|---|---|
| macOS | Keychain |
| Windows | Windows Credential Manager |
| Linux/BSD | D-Bus Secret Service (GNOME Keyring, KWallet) |
Supports separate passwords per protocol (IMAP, SMTP, CalDAV, CardDAV, WebDAV).
SOG_ACCOUNT=you@example.com to avoid repeating --account这是一款功能丰富、设计用心的 CLI 邮件日历工具,支持主流开放协议,命令设计参考了 gog/mog 风格,容易上手。文档详细、输出格式多样(支持 JSON/TSV),还有贴心的 AI 帮助功能。不过它主要面向技术人员,安装需要编程环境;内置的帮助文档虽然完整,但对新手友好度还有提升空间。整体质量不错,适合有命令行经验的用户使用。