Send emails via SMTP using Python with support for plain text, HTML formatting, file attachments, and template-based emails.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versionsend-emailExecute the skills CLI command in your project's root directory to begin installation:
Fetches send-email from wangyendt/wayne-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate send-email. Access via /send-email in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
0
total installs
0
this week
3
GitHub stars
0
upvotes
Run in your terminal
0
installs
0
this week
3
stars
Send emails via SMTP using Python with support for plain text, HTML formatting, file attachments, and template-based emails.
[email protected] when no sender is specifiedThis skill guides you through the email sending process step by step.
Ask the user for the following required information. If any is missing, prompt the user to provide it:
| Information | Description | Example |
|---|---|---|
Recipient (--to) |
Email address to send to | [email protected] |
Subject (--subject) |
Email subject line | Monthly Report |
Content (--content) |
Email body text or HTML | Hello, here is your report. |
IMPORTANT - Default Sender Email Behavior:
If the user does NOT specify a sender email in their initial request, AUTOMATICALLY use [email protected] as the default sender. DO NOT ask the user which email to send from.
Only ask the user for a different sender email if they explicitly mention wanting to use their own email address.
When using the default [email protected], proceed directly to Step 2 and ask for the 126 email authorization code.
Based on the sender's email address domain, identify the email provider and request the appropriate credentials.
@gmail.com, @googlemail.com → Gmail
@outlook.com, @hotmail.com, @live.com, @office365.com → Outlook/Office 365
@qq.com, @vip.qq.com → QQ Mail
@163.com, @126.com → NetEase Mail
@aliyun.com, @aliyun-inc.com → Aliyun Mail
@sendgrid.net, @*.sendgrid.net → SendGrid
@*.mailgun.org → Mailgun
Other domains → Custom SMTP (ask for server, port, username, password)
Gmail (@gmail.com, @googlemail.com)
smtp.gmail.com587 (TLS) or 465 (SSL)Outlook / Office 365 (@outlook.com, @hotmail.com, @live.com, @office365.com)
smtp.office365.com587 (TLS)QQ Mail (@qq.com, @vip.qq.com)
smtp.qq.com587 (TLS) or 465 (SSL)NetEase 163 Mail (@163.com)
smtp.163.com465 (SSL) or 994 (IMAP)NetEase 126 Mail (@126.com)
smtp.126.com465 (SSL) or 25 (SSL)SendGrid
smtp.sendgrid.net587 (TLS) or 465 (SSL)apikey (literally this string)Mailgun
smtp.mailgun.org587 (TLS)Custom SMTP (Other domains) Ask the user to provide:
The script automatically detects if the email content is in Markdown format by looking for common patterns:
#, ##, ###)**bold**, *italic*)- item or 1. item)[text](url))If Markdown is detected, the content is automatically converted to beautifully styled HTML with:
You don't need to manually specify --content-type html for Markdown content - it's handled automatically!
--from-name: Display name for sender (e.g., "John Doe")--content-type html: For HTML formatted emails (defaults to plain text, but auto-converts Markdown)--attach: File path(s) to attach (can specify multiple)--template: Use template file instead of content--template-vars: JSON string of template variablesBefore sending, confirm with the user:
Ready to send:
From: [Sender Email]
To: [Recipient Email]
Subject: [Subject]
Content Type: [Plain/HTML]
Attachments: [List of attachments or None]
Proceed to send? (y/n)
If confirmed, execute the send_email.py script with all collected parameters.
User: Send an email to [email protected] with subject "Hello"
Skill: I can help you send that email. I need a few more details:
User: The content is "Hi John, just saying hello!" and send from [email protected]
Skill: I detected you're using Gmail. For Gmail, you need an App Password (not your regular password).
To get your App Password:
Please provide your Gmail App Password:
User: abcd efgh ijkl mnop
Skill: Ready to send:
Proceed to send? (y/n)
User: 发一封邮件给 [email protected],主题是"AR眼镜行业分析",内容是 [用户提供的 Markdown 报告]
Skill: 我来帮您发送这封邮件。检测到您没有指定发件人邮箱,我将使用默认邮箱 [email protected] 发送。
同时,我发现您的内容是 Markdown 格式,将自动转换为美观的 HTML 格式,让报告更易读。
为了使用 126 邮箱发送,我需要您提供 SMTP 授权码。
获取授权码步骤:
请提供 [email protected] 的授权码:
User: [提供授权码]
Skill: 准备发送邮件:
确认发送? (y/n)
User: 发邮件给 [email protected],主题是项目报告
Skill: 我需要收集邮件内容:
邮件正文是什么?
User: 项目已完成,所有里程碑都已达成。
Skill: 我将使用默认邮箱 [email protected] 发送。
为了使用 126 邮箱发送,我需要您提供 SMTP 授权码。
获取授权码步骤:
请提供 [email protected] 的授权码:
User: [提供授权码]
Skill: 准备发送邮件:
确认发送?(y/n)
User: Send a report to [email protected] from [email protected] about Q4 results, with attachment /home/user/q4_report.pdf
Skill: I'll help you send that email. Please provide the email content:
What should the email say about the Q4 results?
User: Please find attached the Q4 financial report. Let me know if you have any questions.
Skill: I see you're using Outlook. You'll need your Outlook account password (same as web login).
Please provide your Outlook password:
User: mypassword123
Skill: Ready to send:
Proceed to send? (y/n)
User: Send email to [email protected] from [email protected]
Skill: I need to gather some information:
User: Subject is Test Email, content is Hello World
Skill: Since you're using a custom domain ([email protected]), I'll need your SMTP configuration:
User: Server is smtp.mydomain.com, port 587, username is [email protected], password is secret
Skill: Ready to send:
Proceed to send? (y/n)
Once all information is collected, execute the script with appropriate parameters:
python3 scripts/send_email.py \
--to [email protected] \
--subject "Email Subject" \
--content "Email body content" \
--smtp-server smtp.gmail.com \
--smtp-port 587 \
--username [email protected] \
--password your-password-or-app-password
python3 scripts/send_email.py \
--to [email protected] \
--subject "Email Subject" \
--content "<h1>Hello</h1><p>HTML content</p>" \
--content-type html \
--smtp-server smtp.gmail.com \
--smtp-port 587 \
--username [email protected] \
--password your-password
python3 scripts/send_email.py \
--to [email protected] \
--subject "Email Subject" \
--content "Email body" \
--attach /path/to/file1.pdf \
--attach /path/to/file2.csv \
--smtp-server smtp.gmail.com \
--smtp-port 587 \
--username [email protected] \
--password your-password
python3 scripts/send_email.py \
--to [email protected] \
--subject "Email Subject" \
--template assets/simple-notification.html \
--template-vars '{"title":"Notification","message":"Your report is ready!"}' \
--content-type html \
--smtp-server smtp.gmail.com \
--smtp-port 587 \
--username [email protected] \
Implementation Guide
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Steps
- 1Install skill using provided installation command
- 2Test with simple use case relevant to your work
- 3Evaluate output quality and relevance
- 4Iterate on prompts to improve results
- 5Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This
✓ Use when
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid when
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Related Skills
qq-email
9shadowcz007/skills
AI/MLtag: emailmjml-email-templates
6aaronontheweb/dotnet-skills
AI/MLtag: emailml-paper-writing
75davila7/claude-code-templates
AI/MLsame categorybeautiful-mermaid
31intellectronica/agent-skills
AI/MLsame categoryllm-council
26am-will/codex-skills
AI/MLsame categorybrainstorming
16sickn33/antigravity-awesome-skills
AI/MLsame categoryReviews
4.6★★★★★37 reviews- AAmelia Mehta★★★★★Dec 24, 2024
send-email reduced setup friction for our internal harness; good balance of opinion and flexibility.
- GGanesh Mohane★★★★★Dec 20, 2024
Registry listing for send-email matched our evaluation — installs cleanly and behaves as described in the markdown.
- AAanya Li★★★★★Dec 8, 2024
We added send-email from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.
- XXiao Thomas★★★★★Nov 27, 2024
Keeps context tight: send-email is the kind of skill you can hand to a new teammate without a long onboarding doc.
- CChen Ghosh★★★★★Nov 15, 2024
Registry listing for send-email matched our evaluation — installs cleanly and behaves as described in the markdown.
- SSakshi Patil★★★★★Nov 11, 2024
send-email reduced setup friction for our internal harness; good balance of opinion and flexibility.
- XXiao Li★★★★★Nov 7, 2024
send-email is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- AAlexander Zhang★★★★★Oct 26, 2024
Useful defaults in send-email — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- XXiao Lopez★★★★★Oct 18, 2024
send-email has been reliable in day-to-day use. Documentation quality is above average for community skills.
- SSofia Jackson★★★★★Oct 6, 2024
send-email fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.
showing 1-10 of 37
1 / 4Discussion
Comments — not star reviews- No comments yet — start the thread.