Exemple #1
0
        private void Send(MailMessage email, string server, int port, bool ssl, BasicNetworkCredential credentials)
        {
            var smtp = new SmtpClient(server, port);

            smtp.EnableSsl   = ssl;
            smtp.Credentials = credentials;

            smtp.Send(email);
        }
Exemple #2
0
        public void SendEmail(EmailSettings settings, string subject, string body, bool htmlBody = false, List <string> attachmentUrls = null)
        {
            var email = new MailMessage();

            email.From = new MailAddress(settings.From);

            settings.To.ToList().ForEach(x => email.To.Add(x));
            settings.CC.ToList().ForEach(x => email.CC.Add(x));
            settings.Bcc.ToList().ForEach(x => email.Bcc.Add(x));

            email.Subject    = subject;
            email.Body       = body;
            email.IsBodyHtml = htmlBody;

            if (attachmentUrls != null)
            {
                foreach (var url in attachmentUrls)
                {
                    email.Attachments.Add(new Attachment(url));
                }
            }

            BasicNetworkCredential credentials = null;

            if (!string.IsNullOrWhiteSpace(settings.Username))
            {
                credentials = new BasicNetworkCredential(settings.Username, settings.Password);
            }

            try
            {
                Send(email, settings.Server, settings.Port, settings.Ssl, credentials);
            }
            catch (Exception ex)
            {
                _logger.Error("Error sending email. Subject: {0}", email.Subject);
                _logger.Debug(ex, ex.Message);
                throw;
            }
        }