public void BuildFrom()
        {
            string conditionPattern = @"From: =?";
            string fromPattern      = MailMessageRegExPattern.FromWithOutEncoding;
            Regex  regex;
            Match  match;
            bool   isEncoded = false;

            if (_responseFromServer.Contains(conditionPattern))
            {
                fromPattern = MailMessageRegExPattern.FromWithEncoding;
                isEncoded   = true;
            }

            regex = new Regex(fromPattern);
            match = regex.Match(_responseFromServer);
            string email = match.Groups["email"].Value;
            string name  = MailMessageResponseParser.Parse(match, isEncoded, "name");

            lock (_lockObjMail)
            {
                _message.From     = email;
                _message.FromName = name;
            }
        }
        public void BuildDate()
        {
            string   strDate = MailMessageResponseParser.Parse(_responseFromServer, MailMessageRegExPattern.Date, "date");
            DateTime date    = DateTime.Parse(strDate, null, DateTimeStyles.AdjustToUniversal);

            lock (_lockObjMail)
            {
                _message.Date = date;
            }
        }
        public void BuildSubject()
        {
            string conditionPattern = @"Subject: =?";
            string subject          = MailMessageResponseParser.Parse(_responseFromServer, conditionPattern,
                                                                      MailMessageRegExPattern.SubjectWithEncoding, MailMessageRegExPattern.SubjectWithOutEncoding, "subject");

            lock (_lockObjMail)
            {
                _message.Subject = subject;
            }
        }