Ejemplo n.º 1
0
        public async Task SendEmailAsync(SantaMessage message)
        {
            messageDetails = message;
            try
            {
                var mimeMessage = messageDetails.GetMimeMessage();
                mimeMessage.From.Add(new MailboxAddress(smtpSettings.SenderName, smtpSettings.SenderEmail));
                using var client = new SmtpClient
                      {
                          ServerCertificateValidationCallback = (s, c, h, e) => true
                      };

                await client.ConnectAsync(smtpSettings.Server, smtpSettings.Port);

                await client.AuthenticateAsync(smtpSettings.SenderEmail, smtpSettings.Password);

                await client.SendAsync(mimeMessage);

                await client.DisconnectAsync(true);
            }
            catch (Exception e)
            {
                throw new InvalidOperationException(e.Message);
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PullNames()
        {
            var pairs = santaHat.PullNames();

            var body = GetMessageBody();

            var model = new VerificationViewModel();

            foreach (var pair in pairs)
            {
                var message = new SantaMessage(pair.Key, pair.Value, body, "25", "2 Dec");
                await mailer.SendEmailAsync(message);

                //TODO: Add email sending verification
                model.AddStatus(pair.Key, true);
            }

            return(View(model));
            //return RedirectToAction("Index", "Home");
        }