From b153adbd86e226ad805c2edbb90e4032d386a1b0 Mon Sep 17 00:00:00 2001 From: vnugent Date: Mon, 28 Aug 2023 21:54:26 -0400 Subject: Refactor overhaul, data extensions & Resend.com support --- .../src/Mta/IMailTransferAgent.cs | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 lib/Emails.Transactional.Plugin/src/Mta/IMailTransferAgent.cs (limited to 'lib/Emails.Transactional.Plugin/src/Mta/IMailTransferAgent.cs') diff --git a/lib/Emails.Transactional.Plugin/src/Mta/IMailTransferAgent.cs b/lib/Emails.Transactional.Plugin/src/Mta/IMailTransferAgent.cs new file mode 100644 index 0000000..3c2e98d --- /dev/null +++ b/lib/Emails.Transactional.Plugin/src/Mta/IMailTransferAgent.cs @@ -0,0 +1,44 @@ +/* +* Copyright (c) 2023 Vaughn Nugent +* +* Library: VNLib +* Package: Emails.Transactional +* File: IMailTransferAgent.cs +* +* IMailTransferAgent.cs is part of Emails.Transactional which is part of the larger +* VNLib collection of libraries and utilities. +* +* Emails.Transactional is free software: you can redistribute it and/or modify +* it under the terms of the GNU General Public License as published +* by the Free Software Foundation, either version 2 of the License, +* or (at your option) any later version. +* +* Emails.Transactional is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with Emails.Transactional. If not, see http://www.gnu.org/licenses/. +*/ + +using System.Threading; +using System.Threading.Tasks; + +namespace Emails.Transactional.Mta +{ + /// + /// Represents an email transfer agent or mail server. + /// + internal interface IMailTransferAgent + { + /// + /// Sends an email using the specified transaction and template. + /// + /// The email transaction containing message metadata + /// The email message body + /// A token to cancel the operation + /// A task that completes with the result of the operation + Task SendEmailAsync(EmailTransaction transaction, IEmailMessageData message, CancellationToken cancellation = default); + } +} -- cgit