ActiveUp.Net.Mail.Parser.ParseAddress C# (CSharp) Method

ParseAddress() public static method

public static ParseAddress ( string input ) : ActiveUp.Net.Mail.Address
input string
return ActiveUp.Net.Mail.Address
		public static Address ParseAddress(string input)
		{
			Address address = new Address();
			input = input.TrimEnd(';');
			try
			{
				if(input.IndexOf("<")==-1) address.Email = Parser.RemoveWhiteSpaces(input);
				else
				{
					address.Email = System.Text.RegularExpressions.Regex.Match(input,"<(.|[.])*>").Value.TrimStart('<').TrimEnd('>');
					address.Name = input.Replace("<"+address.Email+">","");
					address.Email = Parser.Clean(Parser.RemoveWhiteSpaces(address.Email));
					if(address.Name.IndexOf("\"")==-1) address.Name = Parser.Clean(address.Name);
					address.Name = address.Name.Trim(new char[] {' ','\"'});
				}
				return address;
			}
			catch { return new Address(input); }
		}
		//End of address parsing.

Usage Example

Esempio n. 1
0
        public static void ParseHeader(ref Header header)
        {
            string hdr = System.Text.Encoding.ASCII.GetString(header.OriginalData);
            hdr = System.Text.RegularExpressions.Regex.Match(hdr, @"[\s\S]+?((?=\r?\n\r?\n)|\Z)").Value;
            hdr = Parser.Unfold(hdr);
            hdr = Codec.RFC2047Decode(hdr);
            System.Text.RegularExpressions.Match m = System.Text.RegularExpressions.Regex.Match(hdr, @"(?<=((\r?\n)|\n)|\A)\S+:(.|(\r?\n[\t ]))+(?=((\r?\n)\S)|\Z)");
            while(m.Success)
            {
                string name = FormatFieldName(m.Value.Substring(0, m.Value.IndexOf(':')));
                string value = m.Value.Substring(m.Value.IndexOf(":") + 1);
                if (name.Equals("received")) header.Trace.Add(Parser.ParseTrace(m.Value.Trim(' ')));
                else if (name.Equals("to")) header.To = Parser.ParseAddresses(value);
                else if (name.Equals("cc")) header.Cc = Parser.ParseAddresses(value);
                else if (name.Equals("bcc")) header.Bcc = Parser.ParseAddresses(value);
                else if (name.Equals("reply-to")) header.ReplyTo = Parser.ParseAddress(value);
                else if (name.Equals("from")) header.From = Parser.ParseAddress(value);
                else if (name.Equals("sender")) header.Sender = Parser.ParseAddress(value);
                else if (name.Equals("content-type")) header.ContentType = Parser.GetContentType(m.Value);
                else if (name.Equals("content-disposition")) header.ContentDisposition = Parser.GetContentDisposition(m.Value);

                header.HeaderFields.Add(name, value);
                header.HeaderFieldNames.Add(name, m.Value.Substring(0, m.Value.IndexOf(':')));
                m = m.NextMatch();
            }
        }
All Usage Examples Of ActiveUp.Net.Mail.Parser::ParseAddress