Feature Overview
email-sender is a fully featured email auto-sending tool that supports:
- Multiple sending methods: SMTP protocol and email service APIs (SendGrid/MailGun/SES)
- Template engine: Built-in Jinja2 template system, supporting dynamic content generation
- Attachment support: Supports multiple attachment uploads, with automatic size and type checks
- Error handling: Automatic retry mechanism, detailed logging
- Security protection: Rate limiting, certificate verification, attachment type checks
- Flexible configuration: YAML configuration file, supporting multi-environment switching
Typical Use Cases
- Automated notifications: CI/CD pipeline status notifications, system alerts
- Bulk emails: Marketing emails, user notifications, report distribution
- Workflow integration: Send emails as part of an automated process
- Template emails: Welcome emails, password reset, order confirmation
Core Scripts
scripts/send_email.py: Main sending script, handles email sending logicscripts/template_manager.py: Jinja2 template managerscripts/config_loader.py: YAML configuration loader
Template Resources
templates/default.html: General email templatetemplates/welcome.html: Welcome new user emailtemplates/alert.html: System alert email
Configuration Files
config/config.yaml: Email server and feature configurationskill.yaml: Skill metadata and interface definitions
Quick Start
# 1. 安装依赖
pip install -r requirements.txt
# 2. 配置邮箱(编辑config/config.yaml)
# 3. 发送测试邮件
python scripts/send_email.py --to user@example.com --subject "测试" --body "测试内容"
For detailed documentation, please refer to README.md