public static SendingDomainPolicy Parse(string input) { SendingDomainPolicy policy = new SendingDomainPolicy(); MatchCollection matches = Regex.Matches(input, @"[a-zA-Z]+=[^;]+(?=(;|\Z))"); foreach (Match m in matches) { string tag = m.Value.Substring(0, m.Value.IndexOf('=')); string value = m.Value.Substring(m.Value.IndexOf('=') + 1); if (tag.Equals("n")) { policy._n = value; } else if (tag.Equals("r")) { policy._r = Parser.ParseAddress(value); } else if (tag.Equals("o")) { if (value.Equals("~")) { policy._o = OutboundSigningPolicy.Some; } else if (value.Equals("-")) { policy._o = OutboundSigningPolicy.All; } else { policy._o = OutboundSigningPolicy.OtherOrNoPolicy; } } } return(policy); }
public static SendingDomainPolicy Parse(string input) { SendingDomainPolicy policy = new SendingDomainPolicy(); MatchCollection matches = Regex.Matches(input, @"[a-zA-Z]+=[^;]+(?=(;|\Z))"); foreach (Match m in matches) { string tag = m.Value.Substring(0, m.Value.IndexOf('=')); string value = m.Value.Substring(m.Value.IndexOf('=') + 1); if (tag.Equals("n")) policy._n = value; else if (tag.Equals("r")) policy._r = Parser.ParseAddress(value); else if (tag.Equals("o")) { if (value.Equals("~")) policy._o = OutboundSigningPolicy.Some; else if (value.Equals("-")) policy._o = OutboundSigningPolicy.All; else policy._o = OutboundSigningPolicy.OtherOrNoPolicy; } } return policy; }
public SendingDomainPolicy GetSendingDomainPolicy() { byte[] data = Validator.GetTxtRecords("._domainkey." + this.Domain); return(SendingDomainPolicy.Parse(Encoding.ASCII.GetString(data, 0, data.Length))); }