Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 4
0
        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;
 }