public async Task SendHtmlEmail(string subject, string toEmail, string content) { string apiKey = _configurationService.Email.ApiKey; dynamic sg = new SendGridAPIClient(apiKey); Email from = new Email(_configurationService.Email.From); Email to = new Email(toEmail); Content mailContent = new Content("text/html", content); Mail mail = new Mail(from, subject, to, mailContent); var personalization = new Personalization(); personalization.AddTo(to); if (_configurationService.Email.Bcc != null && _configurationService.Email.Bcc.Any()) { foreach (var bcc in _configurationService.Email.Bcc) { personalization.AddBcc(new Email(bcc)); } mail.AddPersonalization(personalization); } dynamic response = await sg.client.mail.send.post(requestBody : mail.Get()); if (response.StatusCode != System.Net.HttpStatusCode.Accepted) { var responseMsg = response.Body.ReadAsStringAsync().Result; _logger.Error($"Unable to send email: {responseMsg}"); } }
public async Task SendHtmlEmail(string subject, string toEmail, string content) { string apiKey = _configurationService.Email.ApiKey; var client = new SendGridClient(apiKey); var from = new EmailAddress(_configurationService.Email.From); var to = new EmailAddress(toEmail); var mail = MailHelper.CreateSingleEmail(from, to, subject, content, content); if (_configurationService.Email.Bcc != null && _configurationService.Email.Bcc.Any()) { foreach (var bcc in _configurationService.Email.Bcc) { mail.AddBcc(new EmailAddress(bcc)); } } var response = await client.SendEmailAsync(mail); if (response.StatusCode != System.Net.HttpStatusCode.Accepted) { var responseMsg = response.Body.ReadAsStringAsync().Result; _logger.Error($"Unable to send email: {responseMsg}"); } else { _logger.Info($"Email '{subject}' has been successfully sent to '{toEmail}' at {DateTime.UtcNow.ToLongTimeString()}"); } }