/// <summary>
 /// 
 /// </summary>
 /// <param name="line"></param>
 public SmtpCommandResultLine(String line)
 {
     Match m = RegexList.SmtpResultLine.Match(line);
     if (Int32.TryParse(m.Groups["StatusCode"].Value, out this._StatusCodeNumber) == false)
     { throw new MailClientException("Invalid format response." + Environment.NewLine + line); }
     this._StatusCode = (SmtpCommandResultCode)this._StatusCodeNumber;
     this.HasNextLine = m.Groups["HasNextLine"].Value == "-";
     this.Message = m.Groups["Message"].Value;
 }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="line"></param>
        public SmtpCommandResultLine(String line)
        {
            Match m = RegexList.SmtpResultLine.Match(line);

            this._InvalidFormat = !Int32.TryParse(m.Groups["StatusCode"].Value, out this._StatusCodeNumber);
            this._StatusCode    = (SmtpCommandResultCode)this._StatusCodeNumber;
            this._HasNextLine   = m.Groups["HasNextLine"].Value == "-";
            this._Message       = m.Groups["Message"].Value;
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="line"></param>
        public SmtpCommandResultLine(String line)
        {
            Match m = RegexList.SmtpResultLine.Match(line);

            if (Int32.TryParse(m.Groups["StatusCode"].Value, out this._StatusCodeNumber) == false)
            {
                throw new MailClientException("Invalid format response." + Environment.NewLine + line);
            }
            this._StatusCode = (SmtpCommandResultCode)this._StatusCodeNumber;
            this.HasNextLine = m.Groups["HasNextLine"].Value == "-";
            this.Message     = m.Groups["Message"].Value;
        }
示例#4
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="lines"></param>
        public SmtpCommandResult(SmtpCommandResultLine[] lines)
        {
            StringBuilder sb = new StringBuilder();
            if (lines.Length == 0)
            { throw new ArgumentException("line must not be zero length."); }

            this._StatusCode = lines[0].StatusCode;
            for (int i = 0; i < lines.Length; i++)
            {
                sb.Append(lines[i].Message);
                if (i < lines.Length - 1)
                {
                    sb.AppendLine();
                }
            }
            this._Message = sb.ToString();
        }
示例#5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="lines"></param>
        public SmtpCommandResult(SmtpCommandResultLine[] lines)
        {
            StringBuilder sb = new StringBuilder();

            if (lines.Length == 0)
            {
                throw new ArgumentException("line must not be zero length.");
            }

            this._StatusCode = lines[0].StatusCode;
            for (int i = 0; i < lines.Length; i++)
            {
                sb.Append(lines[i].Message);
                sb.AppendLine();
            }
            this._Message = sb.ToString();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="lines"></param>
        public SmtpCommandResult(SmtpCommandResultLine[] lines)
        {
            StringBuilder sb = new StringBuilder();

            if (lines.Length == 0)
            {
                return;
            }

            this._StatusCode = lines[0].StatusCode;
            for (int i = 0; i < lines.Length; i++)
            {
                sb.Append(lines[i].Message);
                if (i < lines.Length - 1)
                {
                    sb.AppendLine();
                }
            }
            this._Message = sb.ToString();
        }