internal static object RecipientDomainsGetter(IPropertyBag propertyBag) { MultiValuedProperty <SmtpDomainWithSubdomains> multiValuedProperty = null; MultiValuedProperty <string> multiValuedProperty2 = (MultiValuedProperty <string>)propertyBag[TenantOutboundConnectorSchema.RecipientDomains]; if (multiValuedProperty2 != null) { multiValuedProperty = new MultiValuedProperty <SmtpDomainWithSubdomains>(); foreach (string text in multiValuedProperty2) { SmtpDomainWithSubdomains smtpDomainWithSubdomains = null; if (!SmtpDomainWithSubdomains.TryParse(text, out smtpDomainWithSubdomains)) { AddressSpace addressSpace = null; if (AddressSpace.TryParse(text, out addressSpace) && addressSpace.IsSmtpType) { smtpDomainWithSubdomains = addressSpace.DomainWithSubdomains; } } if (smtpDomainWithSubdomains != null) { multiValuedProperty.Add(smtpDomainWithSubdomains); } } } return(multiValuedProperty); }
internal static List <AddressSpace> GetSenderDomainsFromString(string senderDomainString) { List <AddressSpace> list = new List <AddressSpace>(); if (!string.IsNullOrEmpty(senderDomainString)) { string[] array = senderDomainString.Split(new char[] { TenantInboundConnector.senderDomainsDelimiter }); foreach (string address in array) { AddressSpace item = null; if (!AddressSpace.TryParse(address, out item)) { return(new List <AddressSpace>()); } list.Add(item); } } return(list); }