public async Task <SendResponse> SendMail(SendMailDTO sendMailDTO) { var mailTemplate = _mailTemplateRepository.GetByIdWithItemsAsync(sendMailDTO.MailTemplateId.ToString()).Result; if (mailTemplate == null) { throw new NotFoundException("Template não encontrado!"); } var template = mailTemplate.Template; foreach (var item in mailTemplate.MailTemplateItems) { if (sendMailDTO.MailTemplateItems.Any(i => i.Key == item.Key)) { template = template.Replace(item.Key, sendMailDTO.MailTemplateItems.Where(i => i.Key == item.Key).FirstOrDefault().Value); } else { template = template.Replace(item.Key, item.Value); } } var response = await _email.SetFrom(mailTemplate.From) .To(sendMailDTO.MailRecipient) .Subject(mailTemplate.Subject ?? "Assunto") .Body(template) .SendAsync(); return(response); }