Esempio n. 1
0
		public RoutingOverride(RoutingDomain routingDomain, List<RoutingHost> alternateDeliveryRoutingHosts, DeliveryQueueDomain deliveryQueueDomain)
		{
			if (routingDomain == RoutingDomain.Empty)
			{
				throw new ArgumentException(string.Format("The provided domain '{0}' is RoutingDomain.Empty which isn't valid for RoutingOverride", routingDomain));
			}
			if ((alternateDeliveryRoutingHosts == null || alternateDeliveryRoutingHosts.Count == 0) && deliveryQueueDomain == DeliveryQueueDomain.UseAlternateDeliveryRoutingHosts)
			{
				throw new ArgumentException(string.Format("The provided delivery queue domain value UseAlternateDeliveryRoutingHosts is only valid when you specify alternate delivery hosts.", new object[0]));
			}
			if (alternateDeliveryRoutingHosts != null && alternateDeliveryRoutingHosts.Count != 0 && !string.Equals(routingDomain.Type, "smtp", StringComparison.OrdinalIgnoreCase))
			{
				throw new ArgumentException(string.Format("The routing domain needs to be an SMTP domain if alternate delivery hosts are specified - routingDomain.Type == {0}", routingDomain.Type));
			}
			this.routingDomain = routingDomain;
			this.alternateDeliveryRoutingHosts = RoutingHost.ConvertRoutingHostsToString<RoutingHost>(alternateDeliveryRoutingHosts, (RoutingHost host) => host);
			this.deliveryQueueDomain = deliveryQueueDomain;
		}
 public abstract void SetRoutingOverride(RoutingDomain routingDomain);
Esempio n. 3
0
		public RoutingOverride(RoutingDomain routingDomain, DeliveryQueueDomain deliveryQueueDomain) : this(routingDomain, RoutingOverride.EmptyHostList, deliveryQueueDomain)
		{
		}
Esempio n. 4
0
 public abstract bool IsInternalTo(RoutingAddress address, RoutingDomain organizationDomain);
Esempio n. 5
0
 public abstract bool IsInternal(RoutingDomain domain);