Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
bighardperson avatar

Email Skill

  • 8 installs
  • 33 repo stars
  • Updated April 26, 2026
  • bighardperson/computer-science-skills-collection

Email-skill is a skill that sends, reads, searches, and organizes emails across multiple SMTP providers with attachment support.

About

This skill provides email management and automation across multiple providers. It can send emails with attachments, supports HTML and plain-text bodies, CC and BCC recipients, and secure TLS or SSL connections. A developer configures SMTP credentials via a config file or environment variables and sends mail through a Python script or API for providers like Gmail, Outlook, Yahoo, and QQ Mail.

  • Send, read, search, and organize emails across providers
  • Supports Gmail, Outlook, Yahoo, QQ, and custom SMTP
  • Sends attachments with HTML/plain text, CC/BCC, TLS/SSL

Email Skill by the numbers

  • 8 all-time installs (skills.sh)
  • Ranked #1,522 of 2,719 Automation & Workflows skills by installs in the Skillselion catalog
  • Data as of Jul 30, 2026 (Skillselion catalog sync)
At a glance

email-skill capabilities & compatibility

Capabilities
email send · email automation · attachment handling
Works with
gmail · outlook
Use cases
email
Platforms
macOS · Linux · Windows
From the docs

What email-skill says it does

Email management and automation. Send, read, search, and organize emails across multiple providers.
SKILL.md
Support for multiple email providers (Gmail, Outlook, Yahoo, etc.)
SKILL.md
Send Email with Attachment
SKILL.md
npx skills add https://github.com/bighardperson/computer-science-skills-collection --skill email-skill

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs8
repo stars33
Last updatedApril 26, 2026
Repositorybighardperson/computer-science-skills-collection

What it does

Send and automate emails with attachments across SMTP providers like Gmail and Outlook.

Who is it for?

Automating outbound email with attachments through Gmail, Outlook, or other SMTP providers.

When should I use this skill?

You want an agent to send email, including attachments, via SMTP.

What you get

  • sent email with optional attachments

By the numbers

  • 5+ supported providers listed (Gmail, Outlook, Yahoo, QQ, custom)

Files

SKILL.mdMarkdownGitHub ↗

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)

1. Enable 2-factor authentication on your Google account 2. 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

ProviderSMTP ServerPortTLS
Gmailsmtp.gmail.com587Yes
Outlook/Office365smtp.office365.com587Yes
Yahoosmtp.mail.yahoo.com587Yes
QQ Mailsmtp.qq.com587Yes
Custom SMTPyour.smtp.server.com587/465As 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:

1. Authentication Failed

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

2. Connection Refused

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

3. 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

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.