public async Task SendEmail(EmailSendingRequest emailSendingRequest) { var client = new SendGridClient(this.sendGridSettings.ApiKey); var from = new EmailAddress(emailSendingRequest.Sender.Email, emailSendingRequest.Sender.FromLabel); var subject = emailSendingRequest.EmailMessage.Subject; var to = new EmailAddress(emailSendingRequest.Recipient.Email, emailSendingRequest.Recipient.Email); var plainTextContent = ""; var htmlContent = emailSendingRequest.EmailMessage.Body; var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent); var response = await client.SendEmailAsync(msg); }
public async Task SendEmail(EmailSendingRequest emailSendingRequest) { var sendgridData = new SendgridData() { Personalizations = new List <Personalization>() { new Personalization { To = new List <To>() { new To { Email = emailSendingRequest.Recipient.Email, Name = emailSendingRequest.Recipient.Name } }, Subject = emailSendingRequest.EmailMessage.Subject, Substitutions = emailSendingRequest.MergeFields } }, Content = new List <Content>() { new Content { Type = "text/html", Value = emailSendingRequest.EmailMessage.Body } }, From = new From { Email = emailSendingRequest.Sender.Email, Name = emailSendingRequest.Sender.FromLabel }, ReplyTo = new ReplyTo { Email = emailSendingRequest.Sender.Email, Name = emailSendingRequest.Sender.FromLabel }, TemplateId = emailSendingRequest.TemplateId, TrackingSettings = new TrackingSettings() { ClickTracking = new ClickTracking() { Enable = !emailSendingRequest.DisableClickTracking }, OpenTracking = new OpenTracking() { Enable = !emailSendingRequest.DisableOpenTracking } } }; if (!string.IsNullOrEmpty(emailSendingRequest.TemplateId)) { sendgridData.Content = null; sendgridData.Personalizations[0].Subject = string.Empty; await SendEmail(sendgridData); } else { await SendEmail(sendgridData); } }