# Skills Email

> Email 📧

- Skill: `urjuyaimon09/skills-email` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add urjuyaimon09/skills-email`
- Raw SKILL.md: https://api.skillmd.com/api/skills/urjuyaimon09/skills-email/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: urjuyaimon09 (https://skillmd.com/u/urjuyaimon09)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/urjuyaimon09/skills-email

---

Email 📧

Email management and automation with attachment support.

Features
Send emails with attachments
Support for multiple email providers (Gmail, Outlook, Yahoo, etc.)
HTML and plain text email support
CC and BCC recipients
Test email functionality
Secure TLS/SSL connections
Setup Instructions
1. Configure Email Credentials

Create a configuration file email_config.json in your workspace:

{
  "smtp_server": "smtp.gmail.com",
  "smtp_port": 587,
  "username": "your-email@gmail.com",
  "password": "your-app-password",
  "sender_name": "OpenClaw Assistant",
  "use_tls": true,
  "use_ssl": false
}

2. For Gmail Users (Recommended)
Enable 2-factor authentication on your Google account
Generate an App Password:
Go to https://myaccount.google.com/security
Under "Signing in to Google," select "App passwords"
Generate a new app password for "Mail"
Use this 16-character password in your config
3. Alternative: Environment Variables

Set these environment variables instead of using a config file:

# Windows
set SMTP_SERVER=smtp.gmail.com
set SMTP_PORT=587
set EMAIL_USERNAME=your-email@gmail.com
set EMAIL_PASSWORD=your-app-password
set EMAIL_SENDER_NAME="OpenClaw Assistant"

# macOS/Linux
export SMTP_SERVER=smtp.gmail.com
export SMTP_PORT=587
export EMAIL_USERNAME=your-email@gmail.com
export EMAIL_PASSWORD=your-app-password
export EMAIL_SENDER_NAME="OpenClaw Assistant"

Usage Examples
Send a Simple Email
python email_sender.py --to "recipient@example.com" --subject "Hello" --body "This is a test email"

Send Email with Attachment
python email_sender.py --to "recipient@example.com" --subject "Report" --body "Please find attached" --attachment "report.pdf" --attachment "data.xlsx"

Send Test Email
python email_sender.py --to "your-email@gmail.com" --test

Using with OpenClaw Commands
"Send email to recipient@example.com with subject Meeting Notes and body Here are the notes from today's meeting"
"Send test email to verify configuration"
"Email the report.pdf file to team@company.com"

Supported Email Providers
Provider	SMTP Server	Port	TLS
Gmail	smtp.gmail.com	587	Yes
Outlook/Office365	smtp.office365.com	587	Yes
Yahoo	smtp.mail.yahoo.com	587	Yes
QQ Mail	smtp.qq.com	587	Yes
Custom SMTP	your.smtp.server.com	587/465	As configured
Python API Usage
from email_sender import EmailSender

# Initialize with config file
sender = EmailSender("email_config.json")

# Send email with attachment
result = sender.send_email(
    to_email="recipient@example.com",
    subject="Important Document",
    body="Please review the attached document.",
    attachments=["document.pdf", "data.csv"]
)

if result["success"]:
    print(f"Email sent with {result['attachments']} attachments")
else:
    print(f"Error: {result['error']}")

Troubleshooting
Common Issues:

Authentication Failed

Verify your username and password
For Gmail: Use app password instead of regular password
Check if 2FA is enabled

Connection Refused

Verify SMTP server and port
Check firewall settings
Try different port (465 for SSL)

Attachment Too Large

Most providers limit attachments to 25MB
Consider compressing files or using cloud storage links
Security Notes
Never commit email credentials to version control
Use environment variables for production deployments
Regularly rotate app passwords
Consider using dedicated email accounts for automation
