public Message(IEnumerable <string> to, IEnumerable <string> cc, string subject, string content, MimeKit.Text.TextFormat contentTextType, IEnumerable <MimeEntity> attachments) { To = new List <MailboxAddress>(); Cc = new List <MailboxAddress>(); Attachments = new List <MimeEntity>(); ContentTextType = contentTextType; To.AddRange(to.Select(MailboxAddress.Parse)); Cc.AddRange(cc.Select(MailboxAddress.Parse)); Attachments = attachments; Subject = subject; Content = content; }
private MimeMessage CreateMimeMessageFromEmailMessage(EmailMessage message, MimeKit.Text.TextFormat textFormat, List <DigitalizedFile> digitalizedFiles) { var mimeMessage = new MimeMessage(); mimeMessage.From.Add(message.Sender); mimeMessage.To.Add(message.Reciever); mimeMessage.Cc.Add(message.Cc); mimeMessage.Subject = message.Subject; if (digitalizedFiles != null && digitalizedFiles.Count > 0) { var multipart = new Multipart("mixed"); foreach (var df in digitalizedFiles) { var folderName = Path.Combine("Resources", "DigitalizedFiles"); var uploads = Path.Combine(Directory.GetCurrentDirectory(), folderName); var filePath = Path.Combine(uploads, df.FileRoute); if (!System.IO.File.Exists(filePath)) { throw new Exception("No existe el archivo para adjuntar"); } string ext = Path.GetExtension(df.FileName).Replace(".", ""); var attachment = new MimePart(ext, ext) { Content = new MimeContent(File.OpenRead(filePath), ContentEncoding.Default), ContentDisposition = new ContentDisposition(ContentDisposition.Attachment), ContentTransferEncoding = ContentEncoding.Base64, FileName = df.FileName }; multipart.Add(attachment); } multipart.Add(new TextPart(textFormat) { Text = message.Content }); mimeMessage.Body = multipart; } else { mimeMessage.Body = new TextPart(textFormat) { Text = message.Content }; } return(mimeMessage); }
/// <summary> /// Send an email to Client /// </summary> /// <param name="invoiceNumber">Invoice Number</param> /// <param name="subject">Optional Email subject</param> /// <param name="content">Optional Email Content</param> /// <param name="templatePath">Invice Template path</param> /// <param name="repositoryWrapper"></param> /// <param name="emailSender"></param> /// <param name="textFormat"></param> /// <param name="CC"></param> /// <param name="BCC"></param> public static void SendEmail(string invoiceNumber, string templatePath, IRepositoryWrapper repositoryWrapper, IEmailSender emailSender, MimeKit.Text.TextFormat textFormat = MimeKit.Text.TextFormat.Html, IEnumerable <string> CC = null, IEnumerable <string> BCC = null, string subject = null, string content = null) { subject = subject ?? "Your Shopping Item(s)"; content = content ?? "Hi <br/> Please see attached invoice for your shopping items.<br/><br/><br/> Regards,<br/>Alt Health Sales Team."; tblInv_Info inv_Info = repositoryWrapper.InvoiceInfo.GetById(invoiceNumber); if (string.IsNullOrWhiteSpace(inv_Info?.Client_id ?? string.Empty)) { return; } tblClientInfo tblClientInfo = repositoryWrapper.ClientInfo.GetById(inv_Info.Client_id); if (string.IsNullOrWhiteSpace(tblClientInfo?.C_Email ?? string.Empty)) { return; } Tuple <string, string, byte[]> invoice = DocumentHelper.GenerateInvoice(invoiceNumber, repositoryWrapper, templatePath); Dictionary <string, byte[]> attachments = new Dictionary <string, byte[]> { { invoice.Item1, invoice.Item3 } }; emailSender.SendEmail(new EmailHelper.Classes.Message(new[] { tblClientInfo.C_Email }, subject, content, CC, BCC, textFormat, attachments)); }
public void SendMail(NotificationMetadata _notificationMetadata, string receiver, string receiverName, string subject, MimeKit.Text.TextFormat textFormat, string content, string ccName, string cc, List <DigitalizedFile> digitalizedFiles) { EmailMessage message = new EmailMessage(); message.Sender = new MailboxAddress("Happy Gigas", _notificationMetadata.Sender); message.Reciever = new MailboxAddress(receiverName, receiver); message.Cc = new MailboxAddress(ccName, cc); message.Subject = subject; message.Content = content; var mimeMessage = CreateMimeMessageFromEmailMessage(message, textFormat, digitalizedFiles); using (SmtpClient smtpClient = new SmtpClient()) { smtpClient.Connect(_notificationMetadata.SmtpServer, _notificationMetadata.Port, true); smtpClient.Authenticate(_notificationMetadata.UserName, _notificationMetadata.Password); smtpClient.Send(mimeMessage); smtpClient.Disconnect(true); } }
public EmailNotification(MimeKit.Text.TextFormat tipoEmail = MimeKit.Text.TextFormat.Text) { this.defaultFormat = tipoEmail; }
public EmailNotification() { this.defaultFormat = MimeKit.Text.TextFormat.Text; }