public void SendMessage(MailMessage mailMessage) { Log.Information($"Email Host: {_emailSettings.Host}"); var message = new System.Net.Mail.MailMessage { From = new MailAddress("*****@*****.**", "Anlab") }; if (mailMessage.SendTo != "*****@*****.**") //TODO: Remove when we want to start actually emailing people. { throw new Exception("The testing email was not used."); } var sendToEmails = mailMessage.SendTo.Split(';'); foreach (var sendToEmail in sendToEmails) { message.To.Add(sendToEmail); } var bcc = _emailSettings.AnlabAddress; if (!string.IsNullOrWhiteSpace(bcc)) { message.Bcc.Add(bcc); } message.Subject = mailMessage.Subject; message.IsBodyHtml = false; message.Body = mailMessage.Body; var mimeType = new System.Net.Mime.ContentType("text/html"); var alternate = AlternateView.CreateAlternateViewFromString(mailMessage.Body, mimeType); message.AlternateViews.Add(alternate); using (var client = new SmtpClient(_emailSettings.Host)) { client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(_emailSettings.UserName, _emailSettings.Password); client.Port = _emailSettings.Port; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.EnableSsl = true; client.Send(message); } }
public void EnqueueMessage(MailMessage message) { _dbContext.Add(message); }