示例#1
0
        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
            });
        }
示例#2
0
        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));
        }