SuperAPI AI 工具集

email-service

办公与效率

查看项目

更新于 10-16 09:52

技能介绍

用途:为 .NET Clean Architecture 项目提供邮件发送能力,将邮件逻辑抽象在应用层,基础设施层用 SendGrid 实现。

主要能力:定义 IEmailService 接口,包含通用发送 SendAsync、模板发送 SendTemplateAsync,以及欢迎邮件、密码重置邮件、评估就绪邮件等专用方法;支持 SendGrid 模板 ID 与模板数据占位符、按语言选择模板(示例支持 en/es);通过 EmailOptions 配置 API Key、发件人、是否启用发送和各模板 ID;提供领域事件处理器示例,在用户创建事件后发送欢迎邮件;发送失败抛出 EmailSendException 并记录日志;EnableSending 为 false 时仅记录日志不实际发送。

使用方式:在 appsettings.json 的 Email 节配置 ApiKey、FromEmail、FromName、EnableSending 与 Templates;注册时调用 services.Configure<EmailOptions>(configuration.GetSection(EmailOptions.SectionName)); services.AddScoped<IEmailService, SendGridEmailService>(); 业务代码注入 IEmailService 调用相应方法。

适用场景:采用 Clean Architecture 分层的 .NET 应用,需要统一邮件抽象、模板化多语言邮件,或由领域事件触发邮件。

限制:资料仅给出 SendGrid 一种实现,其他邮件服务商暂未提供;实际模板内容、SendGrid 账户与密钥需自行准备;具体配置项以外未提供更多说明。