Exemple #1
0
        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);
            }
        }
Exemple #2
0
 public void EnqueueMessage(MailMessage message)
 {
     _dbContext.Add(message);
 }