ews-email
CLI to manage enterprise Outlook emails via Exchange Web Services (EWS). Use ews-mail.py to list, read, reply, forward, search, send, move, delete emails and download attachments.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/guyun94/ews-emailEWS Email CLI
A CLI for enterprise Exchange (EWS) email. Use when the user asks about email, inbox, messages, or mail.
Setup (first time only)
Set these environment variables in ~/.openclaw/config.yaml:
EWS_SERVER— Exchange server hostnameEWS_EMAIL— Your email address
Then run the setup command to securely store your password in the system keyring:
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py setup
The password is stored in macOS Keychain / Windows Credential Manager / Linux Secret Service. It never appears in any config file.
SECURITY RULES
- NEVER attempt to read, display, or output the EWS password.
- NEVER run commands that could expose keyring contents.
- NEVER include passwords in any output, log, or message.
- The password is managed exclusively through the
setupcommand.
IMPORTANT: Reading Email Content
To read the FULL content/body of an email, you MUST follow these two steps:
- First run
envelope-listto get the message list (this gives you numeric IDs) - Then run
message-read <ID>to get the FULL email body/content
envelope-list only shows subject lines and metadata. It does NOT contain the email body.
You MUST run message-read to get the actual email content. NEVER guess or summarize based on subject alone.
NEVER say you cannot read email content — you CAN, by running message-read.
Script Location
~/.openclaw/skills/ews-email/scripts/ews-mail.py
Commands
List Emails (step 1 — metadata only)
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py envelope-list
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py envelope-list --page 2 --page-size 20
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py envelope-list --folder "Sent"
Read Email Body (step 2 — REQUIRED for content)
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py message-read <ID>
Search Emails
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py envelope-list from [email protected]
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py envelope-list subject keyword
Send / Reply / Forward
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py message-send --to "email" --subject "subject" --body "body"
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py message-send --to "[email protected]" --cc "[email protected]" --subject "Hi" --body "msg"
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py message-reply <ID> --body "reply text"
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py message-reply <ID> --body "reply text" --all
python3 ~/.openclaw/skills/ews-email/scripts/ews-mail.py message-forward <ID> --to "email" --body "FYI"
Other Commands
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-guyun94-ews-email": {
"enabled": true,
"auto_update": true
}
}
}