Ejemplo n.º 1
0
        void InitializeMailMessage(MailMessage message, string emailViewOutput, Email email)
        {
            using (var reader = new StringReader(emailViewOutput))
            {
                ParserUtils.ParseHeaders(reader, (key, value) => ProcessHeader(key, value, message, email));
                AssignCommonHeaders(message, email);
                if (message.AlternateViews.Count == 0)
                {
                    var messageBody = reader.ReadToEnd().Trim();
                    if (email.ImageEmbedder.HasImages)
                    {
                        var view = AlternateView.CreateAlternateViewFromString(messageBody, new ContentType("text/html"));
                        email.ImageEmbedder.AddImagesToView(view);
                        message.AlternateViews.Add(view);
                        message.Body       = "Plain text not available.";
                        message.IsBodyHtml = false;
                    }
                    else
                    {
                        message.Body = messageBody;
                        if (message.Body.StartsWith("<"))
                        {
                            message.IsBodyHtml = true;
                        }
                    }
                }

                AddAttachments(message, email);
            }
        }
Ejemplo n.º 2
0
        KeyValuePair <string, string> ParseHeader(string line)
        {
            var header = default(KeyValuePair <string, string>);

            using (var reader = new StringReader(line))
            {
                ParserUtils.ParseHeaders(reader, (key, value) => header = new KeyValuePair <string, string>(key, value));
            }
            return(header);
        }
Ejemplo n.º 3
0
        string ParseHeadersForContentType(StringReader reader)
        {
            string contentType = null;

            ParserUtils.ParseHeaders(reader, (key, value) =>
            {
                if (key.Equals("content-type", StringComparison.OrdinalIgnoreCase))
                {
                    contentType = value;
                }
            });
            return(contentType);
        }
Ejemplo n.º 4
0
        void InitializeMailMessage(MailMessage message, string emailViewOutput, Email email)
        {
            using (var reader = new StringReader(emailViewOutput))
            {
                ParserUtils.ParseHeaders(reader, (key, value) => ProcessHeader(key, value, message, email));
                AssignCommonHeaders(message, email);
                if (message.AlternateViews.Count == 0)
                {
                    message.Body = reader.ReadToEnd();
                    if (message.Body.StartsWith("<"))
                    {
                        message.IsBodyHtml = true;
                    }
                }

                AddAttachments(message, email);
            }
        }
Ejemplo n.º 5
0
        private void InitializeMailMessage(MailMessage message, string emailViewOutput, Template template)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }
            if (template == null)
            {
                throw new ArgumentNullException(nameof(template));
            }

            using (var reader = new StringReader(emailViewOutput))
            {
                ParserUtils.ParseHeaders(reader, (key, value) => ProcessHeader(key, value, message, template));
                AssignCommonHeaders(message, template);
                if (message.AlternateViews.Count == 0)
                {
                    var messageBody = reader.ReadToEnd().Trim();
                    if (template.ImageEmbedder.HasImages)
                    {
                        var view = AlternateView.CreateAlternateViewFromString(messageBody, new ContentType("text/html"));
                        template.ImageEmbedder.AddImagesToView(view);
                        message.AlternateViews.Add(view);
                        message.Body       = "Plain text not available.";
                        message.IsBodyHtml = false;
                    }
                    else
                    {
                        message.Body = messageBody;
                        if (message.Body.StartsWith("<"))
                        {
                            message.IsBodyHtml = true;
                        }
                    }
                }

                AddAttachments(message, template as EmailTemplate);
            }
        }