public static Address GetAddressesOrDomain(this IAddressManager client, MailAddress address, EntityStatus?status) { if (address == null) { throw new ArgumentNullException("address"); } return(client.GetAddressesOrDomain(address.Address, status)); }
internal Address GetAddress(DirectAddress address) { Debug.Assert(m_settings.HasAddressManager); IAddressManager client = CreateAddressManagerClient(); using (client as IDisposable) { if (AddressDomainSearchEnabled(m_settings.AddressManager)) { return(client.GetAddressesOrDomain(address, EntityStatus.Enabled)); } return(client.GetAddress(address, EntityStatus.Enabled)); } }
public static Address GetAddressesOrDomain(this IAddressManager client, string emailAddress, EntityStatus?status) { if (string.IsNullOrEmpty(emailAddress)) { throw new ArgumentException("value was null or empty", "emailAddress"); } Address[] addresses = client.GetAddressesOrDomain(new string[] { emailAddress }, status); if (addresses.IsNullOrEmpty()) { return(null); } return(addresses[0]); }
internal Address[] GetAddresses(DirectAddressCollection addresses) { Debug.Assert(_settings.HasAddressManager); List <Address> managedAddresses; string[] emailAddresses = addresses .Select(address => address.Address) .ToArray(); if (_addressCache != null) { managedAddresses = _addressCache.Get(emailAddresses); if (managedAddresses != null && managedAddresses.Count(d => d != null) == addresses.Count()) { managedAddresses.RemoveAll(d => d == null); return(managedAddresses.ToArray()); } } IAddressManager client = CreateAddressManagerClient(); using (client as IDisposable) { Address[] addressesFound; if (_enabledDomainSearch) { addressesFound = client.GetAddressesOrDomain(emailAddresses, EntityStatus.Enabled); } else { addressesFound = client.GetAddresses(emailAddresses, EntityStatus.Enabled); } managedAddresses = addressesFound.ToList(); } if (_addressCache != null) { _addressCache.Put(managedAddresses); } return(managedAddresses.ToArray()); }
internal Address[] GetAddresses(DirectAddressCollection addresses) { Debug.Assert(m_settings.HasAddressManager); string[] emailAddresses = ( from address in addresses select address.Address ).ToArray(); IAddressManager client = CreateAddressManagerClient(); using (client as IDisposable) { if (AddressDomainSearchEnabled(m_settings.AddressManager)) { return(client.GetAddressesOrDomain(emailAddresses, EntityStatus.Enabled)); } return(client.GetAddresses(emailAddresses, EntityStatus.Enabled)); } }
internal Address GetAddress(DirectAddress address) { Debug.Assert(_settings.HasAddressManager); Address managedAddress; if (_addressCache != null) { managedAddress = _addressCache.Get(address.Address); if (managedAddress != null) { return(managedAddress); } } IAddressManager client = CreateAddressManagerClient(); using (client as IDisposable) { if (_enabledDomainSearch) { managedAddress = client.GetAddressesOrDomain(address, EntityStatus.Enabled); } else { managedAddress = client.GetAddress(address, EntityStatus.Enabled); } } if (_addressCache != null) { _addressCache.Put(managedAddress); } return(managedAddress); }