Gmail Local
Use direct Gmail IMAP/SMTP with a Google App Password. This skill does not use Maton or any third-party proxy.
Trust Boundary
- Mail goes directly between this host and Google Gmail servers:
- IMAP:
imap.gmail.com:993 - SMTP:
smtp.gmail.com:465These endpoints are fixed in the helper and are not configurable by environment variable.
- IMAP:
- Credentials stay local and must be provided through:
GMAIL_ADDRESSGMAIL_APP_PASSWORD_FILE
- Never print, log, commit, or echo the app password. Do not pass it directly as an environment variable.
- App Passwords require Google 2-Step Verification and may be unavailable for some accounts, Workspace policies, or Advanced Protection accounts.
- IMAP must be enabled in Gmail settings.
Commands
The local helper is under this skill folder:
scripts/gmail_local.py
List recent Inbox messages:
python3 scripts/gmail_local.py list --limit 10
Search with an IMAP query:
python3 scripts/gmail_local.py search --query 'UNSEEN'
python3 scripts/gmail_local.py search --query 'FROM "person@example.com"'
Read a message by UID:
python3 scripts/gmail_local.py read --uid 12345
Send mail only after explicit approval:
python3 scripts/gmail_local.py send \
--to person@example.com \
--subject "Subject" \
--body "Message body" \
--confirm-send
Safety Rules
- Before
send, showto,cc,bcc,subject, and a body preview, then get explicit user approval. - The helper refuses to send unless
--confirm-sendis provided after that approval. - Do not use this skill to mass-mail, spam, scrape contacts, or send sensitive data without confirmation.
- Prefer read-only commands (
list,search,read) unless the user clearly asks to send. - If an authentication error occurs, do not retry repeatedly; ask the user to check IMAP settings and rotate the App Password if needed.
Setup
Create a Google App Password at:
https://myaccount.google.com/apppasswords
Store it in a local 0600 file:
install -m 600 /dev/null ~/.openclaw/gmail-app-password
nano ~/.openclaw/gmail-app-password
Then set local environment for the gateway service. Example:
openclaw config set env.vars.GMAIL_ADDRESS you@gmail.com
openclaw config set env.vars.GMAIL_APP_PASSWORD_FILE ~/.openclaw/gmail-app-password
openclaw gateway restart