Beispiel #1
0
        protected void SendEmail(int emailID, string from, string displayName, string to, string bcc, string cc, string subject, string body,
                                 string mailServer, string mailUsername, string mailPassword, int port, string userName, bool ssl = true, string attach = "")
        {
            var         builder = new BodyBuilder();
            MimeMessage mail    = new MimeMessage();

            mail.From.Add(new MailboxAddress(displayName, from));
            mail.To.Add(new MailboxAddress(to));
            mail.Subject     = subject;
            builder.HtmlBody = body;
            mail.Body        = builder.ToMessageBody();
            if (!string.IsNullOrWhiteSpace(bcc))
            {
                mail.Bcc.AddRange(bcc.Split(',').Select(x => { return(new MailboxAddress(x.Trim())); }));
            }
            if (!string.IsNullOrWhiteSpace(cc))
            {
                mail.Cc.AddRange(cc.Split(',').Select(x => { return(new MailboxAddress(x.Trim())); }));
            }

            using (var client = new MailKit.Net.Smtp.SmtpClient())
            {
                client.Connect(mailServer, port, ssl);
                client.AuthenticationMechanisms.Remove("XOAUTH2"); //' Do not use OAUTH2
                client.Authenticate(mailUsername, mailPassword);   //' Use a username / password to authenticate.
                client.Send(mail);
                client.Disconnect(true);
            }

            var log = new EmailLogItem
            {
                createdBy = _getUserName(),
                emailID   = emailID,
                from      = from,
                to        = to,
                subject   = subject,
                text      = body,
                details   = ""
            };

            _logEmail(log);
        }
Beispiel #2
0
        protected void SendEmail(EmailItem email, EmailSettings settings, string userName, string attach = "")
        {
            var         builder = new BodyBuilder();
            MimeMessage mail    = new MimeMessage();

            mail.From.Add(new MailboxAddress(settings.DisplayName, email.from));
            mail.To.Add(new MailboxAddress(email.to));
            mail.Subject     = email.subject;
            builder.HtmlBody = email.template;
            mail.Body        = builder.ToMessageBody();
            if (!string.IsNullOrWhiteSpace(email.bcc))
            {
                mail.Bcc.AddRange(email.bcc.Split(',').Select(x => { return(new MailboxAddress(x.Trim())); }));
            }
            if (!string.IsNullOrWhiteSpace(email.cc))
            {
                mail.Cc.AddRange(email.cc.Split(',').Select(x => { return(new MailboxAddress(x.Trim())); }));
            }

            using (var client = new MailKit.Net.Smtp.SmtpClient())
            {
                client.Connect(settings.Host, settings.Port, settings.IsSSL);
                client.AuthenticationMechanisms.Remove("XOAUTH2");         //' Do not use OAUTH2
                client.Authenticate(settings.UserName, settings.Password); //' Use a username / password to authenticate.
                client.Send(mail);
                client.Disconnect(true);
            }

            var log = new EmailLogItem
            {
                createdBy = _getUserName(),
                emailID   = email.id,
                from      = email.from,
                to        = email.to,
                subject   = email.subject,
                text      = email.template,
                details   = ""
            };

            _logEmail(log);
        }
Beispiel #3
0
 private void _logEmail(EmailLogItem log)
 {
     repo.GetSQLItem <string>("dbo.as_logMails", new { log.createdBy, log.emailID, log.subject, log.text, log.from, log.to, log.details });
 }