Add SMTP dispatcher seam and MailKit implementation

This commit is contained in:
Chris Chen
2026-06-23 19:08:30 -07:00
parent 85bf329d93
commit 444cc70b56
2 changed files with 52 additions and 0 deletions
@@ -0,0 +1,14 @@
namespace ROLAC.API.Services.Notifications;
/// <summary>One outbound email envelope handed to the SMTP transport.</summary>
public sealed record OutboundEmail(
string ToAddress,
string Subject,
string HtmlBody,
IReadOnlyList<EmailAttachment> Attachments);
/// <summary>Thin seam over the actual MailKit send so EmailService stays unit-testable.</summary>
public interface ISmtpDispatcher
{
Task SendAsync(OutboundEmail email, CancellationToken ct = default);
}