private static SendGridTemplate ConstructMessage(string email, string name, string qrCode, DefinitionConstants.EmailTemplates template) { SendTo[] recipient = { new SendTo() { Name = name, Email = email } }; Personalizations[] personalizations = { new Personalizations() { To = recipient, Subject = DefinitionConstants.EmailSubjects[template], TemplateData = new TemplateData() { CompanyName = name } } }; Attachment[] attachments = { new Attachment() { Content = qrCode, FileName = $"{name}.png", Type = _png } }; var from = new SentFrom() { Name = _configuration.GetValue <string>("SendgridCredentials:From"), Email = _configuration.GetValue <string>("SendgridCredentials:FromAddress") }; return(new SendGridTemplate() { Personalizations = personalizations, TemplateId = DefinitionConstants.TemplateIds[template], Attachments = attachments, From = from }); }
public async Task <Response> SendEmail(string receiverEmail, string receiverName, string qrCode, DefinitionConstants.EmailTemplates template) { var message = ConstructMessage(receiverEmail, receiverName, qrCode, template); await _sendGridBroker.SendEmail(message); return(new Response(true, HttpStatusCode.OK)); }