Skip to content

gws-gmail-send

Gmail: Send an email.

1,419
installs
0 up / 0 down, score 0.00
votes
0
repo stars
Updated
3 months ago
In the catalog since
5 Oct 2026
From
streakyc/googleworkspacecli
Get it through your agent npx skills add streakyc/googleworkspacecli@gws-gmail-send

Skill instructions

Rendered from the published SKILL.md, 60 lines.

gmail +send

PREREQUISITE: Read ../gws-shared/SKILL.md for auth, global flags, and security rules. If missing, run gws generate-skills to create it.

Send an email

Usage

gws gmail +send --to <EMAILS> --subject <SUBJECT> --body <TEXT>

Flags

Flag Required Default Description
--to ✓ — Recipient email address(es), comma-separated
--subject ✓ — Email subject
--body ✓ — Email body, used verbatim (plain text, or HTML with --html). \n is NOT a newline — use $'...' or a real line break
--from — — Sender address (for send-as/alias; omit to use account default)
--attach — — Attach a file (can be specified multiple times)
--cc — — CC email address(es), comma-separated
--bcc — — BCC email address(es), comma-separated
--html — — Treat --body as HTML content (default is plain text)
--dry-run — — Show the request that would be sent without executing it
--draft — — Save as draft instead of sending

Examples

gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi Alice!'
gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi!' --cc bob@example.com
gws gmail +send --to alice@example.com --subject 'Hello' --body '<b>Bold</b> text' --html
gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi!' --from alias@example.com
gws gmail +send --to alice@example.com --subject 'Report' --body 'See attached' -a report.pdf
gws gmail +send --to alice@example.com --subject 'Files' --body 'Two files' -a a.pdf -a b.csv
gws gmail +send --to alice@example.com --subject 'Hello' --body 'Hi!' --draft
# Multi-line body — $'...' quoting turns \n into a real newline:
gws gmail +send --to alice@example.com --subject 'Update' --body $'Hi Alice,\n\nShipped today.\n\nBlake'
# Long body — read it from a file instead of quoting inline:
gws gmail +send --to alice@example.com --subject 'Update' --body "$(cat body.txt)"

Tips

  • IMPORTANT: --body is verbatim. Writing --body "Hi,\n\nThanks" sends a literal backslash-n to the recipient; it does NOT create a line break. Use $'Hi,\n\nThanks' or "$(cat file.txt)". See gws-shared Shell Tips.
  • Handles RFC 5322 formatting, MIME encoding, and base64 automatically.
  • Use --from to send from a configured send-as alias instead of your primary address.
  • Use -a/--attach to add file attachments. Can be specified multiple times. Total size limit: 25MB.
  • With --html, use fragment tags (

    , , ,
    , etc.) — no / wrapper needed.

  • Use --draft to save the message as a draft instead of sending it immediately.

[!CAUTION] This is a write command — confirm with the user before executing.

See Also