using Mailjet.Client; using Mailjet.Client.Resources; using Mailjet.Client.TransactionalEmails; using Microsoft.Extensions.Configuration; using Newtonsoft.Json.Linq; using Services.EmailSend; using Services.Interaces; namespace Services.Implemnetation { public class EmailServices : IEmailServices { private readonly IConfiguration _configuration; public EmailServices(IConfiguration configuration) { _configuration = configuration; } public async Task SendConfirmationEmailAsync(EmailToSend emailSend) { MailjetClient client = new MailjetClient(_configuration["MailJet:ApiKey"], _configuration["MailJet:SecretKey"]); var email = new TransactionalEmailBuilder() .WithFrom(new SendContact(_configuration["Email:From"], _configuration["Email:ApplicationName"])) .WithSubject(emailSend.Subject) .WithHtmlPart(emailSend.Body) .WithTo(new SendContact(emailSend.To)) .Build(); var response = await client.SendTransactionalEmailAsync(email); if (response.Messages != null) { if (response.Messages[0].Status == "success") { return true; } } return false; } } }