From b54e8105087b9ce3e19dd926f8cf86f7c7a1dd20 Mon Sep 17 00:00:00 2001 From: robvde Date: Thu, 13 Sep 2012 00:13:44 +0400 Subject: [PATCH] transport agent fixed: project set to .NET 3.5 logging enhanced and address processing modified. --- .../Tools/WSPTransportAgent/App.config | 4 ++-- .../WSPTransportAgent/WSPRoutingAgent.cs | 20 +++++++++++-------- .../WSPTransportAgent.csproj | 3 ++- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/WebsitePanel/Sources/Tools/WSPTransportAgent/App.config b/WebsitePanel/Sources/Tools/WSPTransportAgent/App.config index f3d7ccd1..02e0c01e 100644 --- a/WebsitePanel/Sources/Tools/WSPTransportAgent/App.config +++ b/WebsitePanel/Sources/Tools/WSPTransportAgent/App.config @@ -1,4 +1,4 @@ - + @@ -7,4 +7,4 @@ - \ No newline at end of file + diff --git a/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPRoutingAgent.cs b/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPRoutingAgent.cs index 16656900..91d6f962 100644 --- a/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPRoutingAgent.cs +++ b/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPRoutingAgent.cs @@ -115,8 +115,8 @@ namespace WSPTransportAgent foreach (AcceptedDomain domain in server.AcceptedDomains) { - htAcceptedDomains.Add(domain.ToString(), "1"); - WriteLine("\tAccepted Domain: " + domain.ToString()); + htAcceptedDomains.Add(domain.ToString().ToLower(), "1"); + WriteLine("\tAccepted Domain: " + domain.ToString().ToLower()); } } catch (Exception ex) @@ -154,11 +154,14 @@ namespace WSPTransportAgent { foreach (EnvelopeRecipient recp in e.MailItem.Recipients) { + WriteLine("\t\tFrom: " + e.MailItem.Message.From.SmtpAddress.ToString().ToLower()); WriteLine("\t\tTo: " + recp.Address.ToString().ToLower()); - if (IsMessageBetweenTenants(e.MailItem.FromAddress.DomainPart.ToLower(), recp.Address.DomainPart.ToLower())) + string[] tmpFrom = e.MailItem.Message.From.SmtpAddress.Split('@'); + string[] tmpTo = recp.Address.ToString().Split('@'); + if (IsMessageBetweenTenants(tmpFrom[1].ToLower(), tmpTo[1].ToLower())) { - WriteLine("\t\tMessage routed to domain: " + recp.Address.DomainPart.ToLower() + routingDomain); - RoutingDomain myRoutingDomain = new RoutingDomain(recp.Address.DomainPart.ToLower() + routingDomain); + WriteLine("\t\tMessage routed to domain: " + tmpTo[1].ToLower() + routingDomain); + RoutingDomain myRoutingDomain = new RoutingDomain(tmpTo[1].ToLower() + routingDomain); RoutingOverride myRoutingOverride = new RoutingOverride(myRoutingDomain, DeliveryQueueDomain.UseOverrideDomain); source.SetRoutingOverride(recp, myRoutingOverride); touched = true; @@ -173,13 +176,14 @@ namespace WSPTransportAgent WriteLine("\t\tOOF From: " + e.MailItem.Message.From.SmtpAddress); if (e.MailItem.Message.From.SmtpAddress.Contains("@")) { - string[] tmp = e.MailItem.Message.From.SmtpAddress.Split('@'); + string[] tmpFrom = e.MailItem.Message.From.SmtpAddress.Split('@'); foreach (EnvelopeRecipient recp in e.MailItem.Recipients) { WriteLine("\t\tTo: " + recp.Address.ToString().ToLower()); - if (IsMessageBetweenTenants(tmp[1].ToLower(), recp.Address.DomainPart.ToLower())) + string[] tmpTo = recp.Address.ToString().Split('@'); + if (IsMessageBetweenTenants(tmpFrom[1].ToLower(), tmpTo[1].ToLower())) { - WriteLine("\t\tRemove: " + recp.Address.DomainPart.ToLower()); + WriteLine("\t\tRemove: " + tmpTo[1].ToLower()); e.MailItem.Recipients.Remove(recp); } } diff --git a/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.csproj b/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.csproj index 5bc9a7ea..05307754 100644 --- a/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.csproj +++ b/WebsitePanel/Sources/Tools/WSPTransportAgent/WSPTransportAgent.csproj @@ -10,8 +10,9 @@ Properties WSPTransportAgent WSPTransportAgent - v4.0 + v3.5 512 + true