Пример #1
0
        public async Task <SendEmailResult> BuildAndSendEmail(EmailSendRequest request)
        {
            var trackingId = Guid.NewGuid();

            try
            {
                var templateData = _templatingService.BuildTemplateData(request.TemplateData);
                var(subject, html, plainText) =
                    _templatingService.BuildEmailSubjectAndBody(DetermineTemplateToUse(request.TemplateChoice), templateData);

                var emailSent = await _emailService.BuildAndSendEmail(request.From, request.To, subject, html, plainText);

                emailSent.TrackingId = trackingId;

                return(emailSent);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message, ex);
                throw new Exception(ex.Message, ex);
            }
        }