mcpField
S
smtp-email-sender

smtp-email-sender

github.com/openakita生産性2.0k111 回インストール5 週間前に更新
リポジトリ

smtp-email-sender について

smtp-email-senderは、スクリプトからSMTPでメールを送るためのスキルです。メールプロバイダーの設定方法に加え、宛先、CC、BCC、HTML本文、添付ファイルに対応します。

主な機能

  1. 01SMTP経由でメールを送信
  2. 02複数の宛先とCCに対応
  3. 03BCCと添付ファイルに対応
  4. 04HTML形式の本文を送信
  5. 05SMTP設定とテスト用スクリプト

活用シーン

  1. 01スクリプトから通知メールを送信
  2. 02添付付きのプロジェクト報告を送信
  3. 03複数人に議事録を配布

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/openakita/openakita --skill smtp-email-sender

インストール後、Claude Code で/smtp-email-senderを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.openakita-i18n.json
scripts/
configure_smtp.py
send_email.py
test_smtp.py

詳細

プロジェクトの README より

SMTP Email Sender

通过 SMTP 协议发送邮件,支持 Gmail、Outlook、企业邮箱等。

前置要求

1. Gmail 用户

如果使用 Gmail,需要:

  1. 启用两步验证
  2. 创建应用专用密码(App Password)
2. Outlook/Hotmail 用户
  1. 启用两步验证
  2. 创建应用密码:https://account.microsoft.com/security
  3. 或使用普通密码(如果允许)
3. 企业邮箱用户

联系 IT 部门获取:

  • SMTP 服务器地址
  • SMTP 端口(通常 587 或 465)
  • 是否需要 SSL/TLS

配置

在 .env 文件中添加以下环境变量:

# SMTP 配置
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your_app_password  # Gmail 使用应用专用密码
SMTP_USE_TLS=true

或者首次使用时运行配置脚本。

使用方法

基本用法

调用 send_email.py 脚本:

python scripts/send_email.py \
  --to [email protected] \
  --subject "邮件主题" \
  --body "邮件正文"
完整参数
参数必需说明
--to是收件人邮箱(多个用逗号分隔)
--subject是邮件主题
--body是邮件正文
--cc否抄送邮箱(多个用逗号分隔)
--bcc否密送邮箱(多个用逗号分隔)
--attachment否附件路径(多个用逗号分隔)
--is_html否正文是否为 HTML 格式(默认 false)
--from_name否发件人显示名称
示例

发送简单邮件:

python scripts/send_email.py \
  --to [email protected] \
  --subject "周末聚会" \
  --body "这周末有空吗?一起吃饭吧!"

发送 HTML 邮件带附件:

python scripts/send_email.py \
  --to [email protected] \
  --subject "项目报告" \
  --body "<h1>项目进度报告</h1><p>详见附件...</p>" \
  --is_html true \
  --attachment "report.pdf,chart.xlsx" \
  --from_name "张三"

发送给多人:

python scripts/send_email.py \
  --to "[email protected],[email protected]" \
  --cc "[email protected]" \
  --subject "会议纪要" \
  --body "今天的会议纪要如下..."

支持的 SMTP 配置

Gmail
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USE_TLS=true
Outlook/Hotmail
SMTP_SERVER=smtp-mail.outlook.com
SMTP_PORT=587
SMTP_USE_TLS=true
QQ 邮箱
SMTP_SERVER=smtp.qq.com
SMTP_PORT=587
SMTP_USE_TLS=true
163 邮箱
SMTP_SERVER=smtp.163.com
SMTP_PORT=587
SMTP_USE_TLS=true
企业邮箱(示例)
SMTP_SERVER=smtp.company.com
SMTP_PORT=587
SMTP_USE_TLS=true

常见问题

1. 认证失败

Gmail:

  • 确保启用了两步验证
  • 使用应用专用密码,不是普通密码
  • 检查是否开启了"不够安全的应用"访问(不推荐)

Outlook:

  • 检查是否需要应用密码
  • 确认 SMTP 地址正确
2. 连接超时
  • 检查防火墙设置
  • 尝试端口 465(SSL)代替 587(TLS)
  • 确认 SMTP 服务器地址正确
3. 附件太大
  • Gmail 限制 25MB
  • Outlook 限制 20MB
  • 大文件建议使用云盘链接

安全建议

  1. 永远不要在代码中硬编码密码
  2. 使用环境变量或加密的配置文件
  3. 定期更换应用专用密码
  4. 不要在公共网络使用 SMTP 发送敏感信息

故障排除

运行测试脚本验证配置:

python scripts/test_smtp.py

如果测试失败,检查:

  1. .env 文件配置是否正确
  2. 网络连接是否正常
  3. 邮箱账号密码是否正确
  4. 防火墙是否阻止 SMTP 端口

コメント