private static void SendEmail(MainSettings mainSettings, string bodyFile, IEnumerable <string> attachments) { using (var client = new SmtpSocketClient()) { var message = new MimeMailMessage { From = new MimeMailAddress(mainSettings.Mail.From), IsBodyHtml = true, Body = File.ReadAllText(bodyFile), Subject = mainSettings.Mail.Subject }; var toAddresses = mainSettings.Mail.To.Select(x => new MimeMailAddress(x)); message.To.AddRange(toAddresses); var mailAttachments = attachments.Select(x => new MimeAttachment(x)); message.Attachments.AddRange(mailAttachments); client.Host = mainSettings.Mail.SmtpServer; client.Port = 465; client.User = mainSettings.Mail.SmtpLogin; client.Password = mainSettings.Mail.SmtpPass; client.SslType = SslMode.Ssl; client.AuthenticationMode = AuthenticationType.Base64; client.SendMail(message); } }
static void SendMail(SendMailConfig config, SendMailContext context) { var client = new SmtpSocketClient(config.Smtp, config.Port, config.From, config.Password); client.SslType = config.SslEnabled ? SslMode.Ssl : SslMode.Auto; var mail = new MimeMailMessage(); mail.From = new System.Net.Mail.MailAddress(context.DisplayName ?? config.From); mail.Sender = new System.Net.Mail.MailAddress(config.From); mail.To.Add(context.To); mail.IsBodyHtml = context.IsBodyHtml; mail.Subject = context.Subject; mail.Body = context.Body; mail.BodyEncoding = Encoding.UTF8; foreach (var attachment in context.Attachments) { mail.Attachments.Add(new MimeAttachment(attachment)); } client.SendMail(mail); }