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); } }
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"); }