53 lines
1.4 KiB
C#
53 lines
1.4 KiB
C#
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<bool> 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;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|