用途:在本地开发和集成测试中验证邮件发送,而不向真实收件人投递。适用场景包括本地测试邮件投递、在 .NET Aspire 中搭建邮件基础设施、编写验证邮件已发送的集成测试,以及调试邮件渲染和邮件头。
主要能力:Mailpit 会捕获全部 SMTP 流量而不发送邮件,提供查看已捕获邮件的 Web UI,并暴露 API 供程序访问,支持 HTML 渲染、邮件头和附件。
使用方式:在 Aspire AppHost 中以容器方式添加 Mailpit(镜像 axllent/mailpit),映射 Web UI 端口 8025 和 SMTP 端口 1025,并被 API 项目引用与环境变量注入。应用侧配置 Smtp 主机、端口、是否启用 SSL、发件地址与名称;通过 MailKit 发送邮件,因此需执行: dotnet add package MailKit 邮件发送接口为 IEmailSender,实现类 SmtpEmailSender 使用 SmtpClient 连接、可选认证并发送 MimeMessage。
查看与校验:浏览器访问 http://localhost:8025 可查看收件箱、HTML 视图、源码视图、邮件头与附件;相关端点也会出现在 Aspire 仪表板的 Resources 中。集成测试可通过 Mailpit API(如 /api/v1/messages)获取和清空邮件,并轮询等待异步邮件。
限制与排错:资料未提供收费、价格或平台支持范围等信息。若邮件未出现,需检查 Aspire 仪表板中 Mailpit 容器是否运行、SMTP 主机端口配置是否正确以及应用日志异常;连接被拒绝时可用: curl http://localhost:8025/api/v1/messages 确认监听状态。Aspire 端点未解析时,应确保端点引用正确,并按资料示例通过环境变量传入 SMTP 主机与端口。