示例#1
0
        /// <summary>
        /// Get the E-Mail header value for the given key.
        /// </summary>
        /// <param name="Key">An E-Mail header key.</param>
        public String GetEMailHeader(String Key)
        {
            var Property = MailHeaders.
                           Where(kvp => kvp.Key.ToLower() == Key.ToLower()).
                           FirstOrDefault();

            if (Property.Key.IsNotNullOrEmpty())
            {
                return(Property.Value);
            }

            return(String.Empty);
        }
示例#2
0
        public IEnumerable <String> ToText(Boolean IncludeHeaders = true)
        {
            var AllHeaders = (IncludeHeaders
                                 ? MailHeaders.
                              Select(v => v.Key + ": " + v.Value).
                              Concat(new String[] { "" })
                                 : new String[0]).

                             Concat(_MailBody != null ? _MailBody : (IEnumerable <String>) new String[0]).

                             Concat(_NestedBodyparts.
                                    SelectMany(bodypart => new String[] { "--" + ContentType.MIMEBoundary }.
                                               Concat(bodypart.ToText(true)))).

                             Concat(_NestedBodyparts.Count() > 0 ? new String[] { "--" + ContentType.MIMEBoundary + "--" } : new String[0]);

            return(AllHeaders);
        }
示例#3
0
 public override String ToString()
 {
     return(MailHeaders.Count() + " header lines / " + MailBody.Count() + " body lines; Content-type: " + ContentType + "; " + _NestedBodyparts.Count() + " nested mail bodies!");
 }