namespace ROLAC.API.Services.Notifications;
/// One outbound email envelope handed to the SMTP transport.
public sealed record OutboundEmail(
string ToAddress,
string Subject,
string HtmlBody,
IReadOnlyList Attachments);
/// Thin seam over the actual MailKit send so EmailService stays unit-testable.
public interface ISmtpDispatcher
{
Task SendAsync(OutboundEmail email, CancellationToken ct = default);
}