コード例 #1
0
        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}");
            }
        }
コード例 #2
0
        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()}");
            }
        }