private static void PopulateEmaiMessage(EmailConfigurationElement emailConfiguration)
        {
            if (!string.IsNullOrWhiteSpace(emailConfiguration.From))
            {
                _emailMessage.From = emailConfiguration.From;
            }

            if (!string.IsNullOrWhiteSpace(emailConfiguration.BCC))
            {
                _emailMessage.Bcc = emailConfiguration.BCC.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            }

            if (!string.IsNullOrWhiteSpace(emailConfiguration.CC))
            {
                _emailMessage.Cc = emailConfiguration.CC.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            }

            if (!string.IsNullOrWhiteSpace(emailConfiguration.To))
            {
                _emailMessage.To = emailConfiguration.To.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            }

            if (!string.IsNullOrWhiteSpace(emailConfiguration.Message))
            {
                _emailMessage.Message = emailConfiguration.Message;
            }

            if (!string.IsNullOrWhiteSpace(emailConfiguration.Subject))
            {
                _emailMessage.Subject = emailConfiguration.Subject;
            }
        }
Пример #2
0
        public void SendMessage(string text, string recipientEmail)
        {
            // it would be better to initialize this field in ctor
            // but it was a trouble that EmailConfigurationSection
            // cannot be initializes during app startup because of
            // Ninject binging
            _emailSettings = EmailConfigurationSection.Instance.Email;

            var fromAddress = new MailAddress(_emailSettings.MailFromAddress, _emailSettings.MailFromName);
            var toAddress   = new MailAddress(recipientEmail);
            var password    = _encryptionSerive.Decrypt(_emailSettings.Password);
            var credential  = new NetworkCredential(fromAddress.Address, password);

            _smtp.Host        = _emailSettings.Host;
            _smtp.Port        = _emailSettings.Port;
            _smtp.Credentials = credential;

            using (var message = new MailMessage(fromAddress, toAddress)
            {
                Subject = _emailSettings.MailFromName,
                Body = text
            })
            {
                try
                {
                    _smtp.Send(message);
                }
                catch (Exception)
                {
                    // TODO: some exception handling
                }
            }
        }