using System; using System.Net.Mail; using System.Threading; using System.Threading.Tasks; namespace zero.Core.Mails { public interface IMailDispatcher : IDisposable { /// /// Adds a new mail message to the outgoing queue /// void Enqueue(Mail message); /// /// Sends all mails which have been added to the queue previously /// Task Send(CancellationToken token = default); } }