using MimeKit; namespace Yavsc.Interfaces { /// /// Yavsc's own SMTP client surface. Narrower than /// MailKit.Net.Smtp.ISmtpClient: only the calls that /// MailSender actually makes. Production wires /// MailKitSmtpClient; tests wire a recording fake. /// public interface ISmtpClient : IDisposable { int Timeout { get; set; } void Connect(string host, int port, MailKit.Security.SecureSocketOptions options); void Authenticate(string userName, string password); Task SendAsync(MimeMessage message, CancellationToken cancellationToken = default); void Disconnect(bool quit); } }