Exemplo n.º 1
0
        public static EmailHeader Parse(string header)
        {
            var emailHeader = new EmailHeader();

            emailHeader.PlainHeader = header;
            emailHeader.Subject     = GetTokenFromHeader(HeaderTokens.Subject, header);
            emailHeader.ContentType = GetTokenFromHeader(HeaderTokens.ContentType, header);
            emailHeader.Date        = GetTokenFromHeader(HeaderTokens.Date, header);
            emailHeader.MessageId   = GetTokenFromHeader(HeaderTokens.MessageId, header);
            emailHeader.MimeVersion = GetTokenFromHeader(HeaderTokens.MimeVersion, header);

            return(emailHeader);
        }
Exemplo n.º 2
0
        public void EmailHeaderClass_Properties_TestGetterAndSetter()
        {
            // Arrange
            var testEntity           = new EmailHeader();
            var privateObject        = new PrivateObject(testEntity);
            var propertiesDictionary = new Dictionary <string, object>()
            {
                ["triggerAutoResponseEmail"] = true,
                ["triggerOtherEmail"]        = true,
                ["triggerUserEmail"]         = true,
            };

            // Act
            SetProperties(privateObject, propertiesDictionary);

            // Assert
            AssertProperties(privateObject, propertiesDictionary);
        }
Exemplo n.º 3
0
 public EmailHeaderModel(EmailHeader EmailHeader)
 {
     _emailHeader = EmailHeader;
 }
Exemplo n.º 4
0
        private static void ApplyMainTemplate(String correspondenceMessage, String mainTemplate, MailMessage message, EmailHeader emailHeader)
        {
            String messageBody = mainTemplate;

            messageBody = messageBody
                          //.Replace("{#EmailHeader}", Properties.Settings.Default.CRMEmailHeader)
                          .Replace("{#EmailHeader}", emailHeader != null && emailHeader.Content != null ? emailHeader.Content : string.Empty)
                          .Replace("{#EmailFooter}", Properties.Settings.Default.CRMEmailFooter)
                          .Replace("{#TemplateColor}", HexColorCodeFromRGB(Properties.Settings.Default.CRMEmailTemplateColor))
                          //.Replace("{#TemplateColor}", Properties.Settings.Default.CRMEmailTemplateColor != String.Empty ? Properties.Settings.Default.CRMEmailTemplateColor : "#550055")
                          .Replace("{#Date}", String.Format("{0:dddd dd MMMM}", DateTime.Now))
                          .Replace("{#InternalTemplate}", correspondenceMessage)
                          .Replace("{#HeaderImage}", "cid:headerImage")
                          .Replace("{#FooterImage}", "cid:footerImage");

            var appPath = (string)ApplicationSettings.Read("ImagesPath");

            if (string.IsNullOrWhiteSpace(appPath))
            {
                return;
            }
            //var fullPathHeaderImage = string.Concat(appPath, Properties.Settings.Default.CRMEmailHeaderImage);
            var           fullPathHeaderImage = string.Concat(appPath, emailHeader != null && emailHeader.ImageName != null ? emailHeader.ImageName : string.Empty);
            var           fullPathFooterImage = string.Concat(appPath, Properties.Settings.Default.CRMEmailFooterImage);
            AlternateView htmlView            = AlternateView.CreateAlternateViewFromString(messageBody, Encoding.UTF8, "text/html");

            if (File.Exists(fullPathHeaderImage))
            {
                LinkedResource headerImage = new LinkedResource(fullPathHeaderImage, MediaTypeNames.Image.Jpeg);
                headerImage.ContentId = "headerImage";
                htmlView.LinkedResources.Add(headerImage);
            }
            if (File.Exists(fullPathFooterImage))
            {
                LinkedResource footerImage = new LinkedResource(fullPathFooterImage, MediaTypeNames.Image.Jpeg);
                footerImage.ContentId = "footerImage";
                htmlView.LinkedResources.Add(footerImage);
            }
            message.AlternateViews.Add(htmlView);
        }