send-email

Send emails via SMTP or API. Use this skill when the user asks to send an email, email someone, compose and send a message via email, or notify someone by email. Supports attachments, HTML body, and multiple recipients.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "send-email" with this command: npx skills add dalehurley/phpbot/dalehurley-phpbot-send-email

Skill: send-email

When to Use

Use this skill when the user asks to:

  • Send an email
  • Email someone a message
  • Compose and send an email
  • Notify someone via email
  • Send an email with an attachment

Required Credentials

Retrieve these via the get_keys tool before executing:

Key Store KeyEnvironment VariableDescription
smtp_hostSMTP_HOSTSMTP server hostname (e.g., smtp.gmail.com)
smtp_portSMTP_PORTSMTP port (587 for TLS, 465 for SSL)
smtp_userSMTP_USERSMTP username (usually email address)
smtp_passSMTP_PASSSMTP password or app password
email_fromEMAIL_FROMSender email address (defaults to SMTP_USER)

Gmail Setup

For Gmail, use an App Password:

  1. Enable 2-Step Verification on your Google account
  2. Go to Security > App passwords > Generate
  3. Use smtp.gmail.com port 587 with the app password

Input Parameters

ParameterRequiredDescriptionExample
toYesRecipient email(s), comma-separateduser@example.com
subjectYesEmail subject lineMeeting Tomorrow
bodyYesEmail body contentHi, just a reminder...
attachmentNoFile path to attach/path/to/report.pdf
htmlNoSend body as HTML (flag)--html
ccNoCC recipients, comma-separatedboss@example.com

Procedure

  1. Retrieve SMTP credentials: use get_keys with keys [smtp_host, smtp_port, smtp_user, smtp_pass, email_from]
  2. If any credentials are missing: try search_computer, then ask_user, then store_keys
  3. If recipient, subject, or body not provided, ask the user via ask_user
  4. Send the email:
    python3 skills/send-email/scripts/send.py \
      --to "recipient@example.com" \
      --subject "Hello" \
      --body "This is the message body"
    
    With attachment:
    python3 skills/send-email/scripts/send.py \
      --to "recipient@example.com" \
      --subject "Report attached" \
      --body "Please find the report attached." \
      --attachment /path/to/report.pdf
    
  5. Verify the script reports success
  6. Report delivery status to the user

Bundled Scripts

ScriptTypeDescription
scripts/send.pyPythonSend email via SMTP

Script Usage

# Set credentials as environment variables (from get_keys), then:

# Simple email
python3 scripts/send.py --to "user@example.com" --subject "Hello" --body "Hi there!"

# With attachment
python3 scripts/send.py --to "user@example.com" --subject "Report" --body "See attached." --attachment report.pdf

# HTML email
python3 scripts/send.py --to "user@example.com" --subject "Newsletter" --body "<h1>Hello</h1><p>Content</p>" --html

# Multiple recipients
python3 scripts/send.py --to "a@example.com,b@example.com" --cc "c@example.com" --subject "Team Update" --body "..."

Example

send an email to john@example.com saying "meeting at 3pm"
email the report to my boss
send an email with the PDF attached
compose an email to the team about the project update

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

desktop-control

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

summarize-unread-emails

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

csv-tools

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

get-weather-forecast

No summary provided by upstream source.

Repository SourceNeeds Review