关于 email-service-integration
面向邮件系统开发人员的集成指南,涵盖 SMTP 与第三方服务、模板、验证、重试和错误处理,并提供 Python、Node.js 等实现参考。
主要功能
- 01SMTP 与邮件服务商集成
- 02HTML 邮件模板
- 03邮件地址验证
- 04重试与错误处理
- 05多种语言和框架示例
适用场景
- 01发送交易与通知邮件
- 02构建欢迎、确认及密码重置流程
- 03开发批量邮件活动
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill email-service-integration安装后在 Claude Code 中输入/email-service-integration确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/email-templates-with-mjml.mdemail-validation-and-verification.mdfastapi-email-with-background-tasks.mdnodejs-with-sendgrid.mdpythonflask-with-smtp.mdscripts/validate-pipeline.shtemplates/pipeline.yaml详细介绍
电子邮件服务集成
目录
概述
构建全面的电子邮件系统,支持 SMTP 集成、第三方电子邮件服务提供商(SendGrid、Mailgun、AWS SES)、HTML 模板、电子邮件验证、重试机制和完善的错误处理。
适用场景
- 发送事务性电子邮件
- 实现欢迎/确认邮件
- 创建密码重置流程
- 发送通知邮件
- 构建电子邮件模板
- 管理批量电子邮件营销活动
快速开始
最小可运行示例:
# config.py
import os
class EmailConfig:
MAIL_SERVER = os.getenv('MAIL_SERVER', 'smtp.gmail.com')
MAIL_PORT = int(os.getenv('MAIL_PORT', 587))
MAIL_USE_TLS = os.getenv('MAIL_USE_TLS', True)
MAIL_USERNAME = os.getenv('MAIL_USERNAME')
MAIL_PASSWORD = os.getenv('MAIL_PASSWORD')
MAIL_DEFAULT_SENDER = os.getenv('MAIL_DEFAULT_SENDER', '[email protected]')
# email_service.py
from flask_mail import Mail, Message
from flask import render_template_string
import logging
from datetime import datetime
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
logger = logging.getLogger(__name__)
mail = Mail()
class EmailService:
def __init__(self, app=None):
// ... (see reference guides for full implementation)
参考指南
references/ 目录中的详细实现:
| 指南 | 内容 |
|---|---|
| Python/Flask with SMTP | 使用 SMTP 的 Python/Flask |
| Node.js with SendGrid | 使用 SendGrid 的 Node.js |
| Email Templates with Mjml | 使用 Mjml 的电子邮件模板 |
| FastAPI Email with Background Tasks | 使用后台任务的 FastAPI 电子邮件 |
| Email Validation and Verification | 电子邮件验证与确认 |
最佳实践
✅ 应该做
- 使用事务性电子邮件服务提供商以确保可靠性
- 使用电子邮件模板以保持一致性
- 添加退订链接(法律要求)
- 使用后台任务发送电子邮件
- 实施完善的错误处理和重试机制
- 发送前验证电子邮件地址
- 添加速率限制以防止滥用
- 监控电子邮件送达情况和退信
- 使用 SMTP 身份验证
- 在开发环境中测试电子邮件
❌ 不应该做
- 在请求处理程序中同步发送电子邮件
- 将密码存储在代码中
- 在电子邮件中发送敏感信息
- 在敏感操作中使用通用电子邮件地址
- 跳过电子邮件验证
- 忽略退信和投诉通知
- 过度使用带内联样式的 HTML 电子邮件
- 忘记处理电子邮件发送失败的情况
- 不使用合适的模板就发送电子邮件
- 未经同意就存储电子邮件地址
评论
支持 Markdown