Ravi email-send
Send, compose, reply, reply-all, or forward emails with HTML formatting and attachments. Do NOT use for reading incoming email (use ravi-inbox) or for creden...
Description
name: ravi-email-send description: Send, compose, reply, reply-all, or forward emails with HTML formatting and attachments. Do NOT use for reading incoming email (use ravi-inbox) or for credentials (use ravi-passwords or ravi-secrets).
Ravi Email — Send
Compose new emails, reply to existing ones, or forward them from your Ravi email address, with optional file attachments.
Writing quality matters. Before drafting email content, see the ravi-email-writing skill for subject lines, HTML formatting, tone, and anti-spam best practices.
Resolving Recipients by Name
If you have the recipient's name but not their email address (e.g. "email Alice"), use ravi-contacts first:
# Search contacts by name
ravi contacts search "Alice" --json
# → Returns matches with email, phone, display_name
# If one match → use the email from the result
# If multiple matches → confirm with the user which Alice they mean
# If no matches → ask the user for the email address directly
Compose a new email
ravi email compose --to "recipient@example.com" --subject "Subject" --body "<p>HTML content</p>" --json
Flags:
--to(required): Recipient email address--subject(required): Email subject line--body(required): Email body (HTML supported — use tags like<p>,<h2>,<ul>for formatting)--cc: CC recipients (comma-separated)--bcc: BCC recipients (comma-separated)--attach: File path to attach (can be repeated for multiple files)
Example with HTML formatting and attachment:
ravi email compose --to "user@example.com" --subject "Monthly Report" \
--body "<h2>Monthly Report</h2><p>Key findings:</p><ul><li>Revenue up 15%</li><li>Churn down 3%</li></ul>" \
--attach report.pdf --json
Reply to an email
# Reply to sender only
ravi email reply <message_id> --body "<p>Reply content</p>" --json
# Reply to all recipients
ravi email reply-all <message_id> --body "<p>Reply content</p>" --json
Flags:
--body(required): Email body (HTML supported — use tags like<p>,<h2>,<ul>for formatting)--cc: CC recipients (comma-separated)--bcc: BCC recipients (comma-separated)--attach: File path to attach (can be repeated for multiple files)
Example with CC:
ravi email reply <message_id> --body "<p>Adding the team.</p>" --cc "team@example.com" --json
Forward an email
ravi email forward <message_id> --to "recipient@example.com" --body "<p>FYI — see below.</p>" --json
Flags:
--to(required): Recipient email address--body(required): Email body (HTML supported — use tags like<p>,<h2>,<ul>for formatting)--cc: CC recipients (comma-separated)--bcc: BCC recipients (comma-separated)--attach: File path to attach (can be repeated for multiple files)
Attachments
Attachments are uploaded automatically when you use --attach. The CLI:
- Validates the file (blocked extensions like
.exerejected instantly) - Requests a presigned upload URL from the server
- Uploads the file directly to cloud storage
- Includes the attachment UUID in the email
Blocked extensions: .exe, .dll, .bat, .cmd, .msi, .iso, .dmg, .apk, and other dangerous file types. Developer files (.py, .sh, .js, .rb) are allowed.
Max size: 10 MB per attachment.
Rate Limits
Email sending is rate-limited per user account:
- 60 emails/hour and 500 emails/day
- 200 attachment uploads/hour
On hitting a rate limit, you'll get a 429 error with a retry_after_seconds value. Wait that many seconds before retrying.
Best practices for agents:
- Avoid tight loops of email sends — batch work where possible
- On 429: parse
retry_after_secondsfrom the error, wait, then retry - For bulk operations, add a 1-2 second delay between sends
Important Notes
- HTML email bodies — The
--bodyflag accepts HTML. Use tags for formatting:<p>,<h2>,<ul>,<a href="...">. No<html>or<body>wrapper needed. See ravi-email-writing for templates and anti-spam rules. - Always use
--json— human-readable output is not designed for parsing.
Related Skills
- ravi-contacts — Look up a person's email address by name before sending
- ravi-email-writing — Subject lines, HTML templates, tone, and anti-spam best practices
- ravi-inbox — Read incoming email before replying or forwarding
- ravi-identity — Get your email address and identity name for signatures
- ravi-feedback — Report deliverability issues or suggest email feature improvements
Reviews (0)
No reviews yet. Be the first to review!
Comments (0)
No comments yet. Be the first to share your thoughts!