transport agent fixed: project set to .NET 3.5 logging enhanced and address

processing modified.
This commit is contained in:
robvde 2012-09-13 00:13:44 +04:00
parent cc3a62d7fb
commit b54e810508
3 changed files with 16 additions and 11 deletions

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0"?>
<configuration> <configuration>
<configSections/> <configSections/>
<appSettings> <appSettings>
@ -7,4 +7,4 @@
<add key="enableVerboseLogging" value="false"/> <add key="enableVerboseLogging" value="false"/>
<add key="blockInternalInterTenantOOF" value="true"/> <add key="blockInternalInterTenantOOF" value="true"/>
</appSettings> </appSettings>
</configuration> <startup><supportedRuntime version="v2.0.50727"/></startup></configuration>

View file

@ -115,8 +115,8 @@ namespace WSPTransportAgent
foreach (AcceptedDomain domain in server.AcceptedDomains) foreach (AcceptedDomain domain in server.AcceptedDomains)
{ {
htAcceptedDomains.Add(domain.ToString(), "1"); htAcceptedDomains.Add(domain.ToString().ToLower(), "1");
WriteLine("\tAccepted Domain: " + domain.ToString()); WriteLine("\tAccepted Domain: " + domain.ToString().ToLower());
} }
} }
catch (Exception ex) catch (Exception ex)
@ -154,11 +154,14 @@ namespace WSPTransportAgent
{ {
foreach (EnvelopeRecipient recp in e.MailItem.Recipients) foreach (EnvelopeRecipient recp in e.MailItem.Recipients)
{ {
WriteLine("\t\tFrom: " + e.MailItem.Message.From.SmtpAddress.ToString().ToLower());
WriteLine("\t\tTo: " + recp.Address.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); WriteLine("\t\tMessage routed to domain: " + tmpTo[1].ToLower() + routingDomain);
RoutingDomain myRoutingDomain = new RoutingDomain(recp.Address.DomainPart.ToLower() + routingDomain); RoutingDomain myRoutingDomain = new RoutingDomain(tmpTo[1].ToLower() + routingDomain);
RoutingOverride myRoutingOverride = new RoutingOverride(myRoutingDomain, DeliveryQueueDomain.UseOverrideDomain); RoutingOverride myRoutingOverride = new RoutingOverride(myRoutingDomain, DeliveryQueueDomain.UseOverrideDomain);
source.SetRoutingOverride(recp, myRoutingOverride); source.SetRoutingOverride(recp, myRoutingOverride);
touched = true; touched = true;
@ -173,13 +176,14 @@ namespace WSPTransportAgent
WriteLine("\t\tOOF From: " + e.MailItem.Message.From.SmtpAddress); WriteLine("\t\tOOF From: " + e.MailItem.Message.From.SmtpAddress);
if (e.MailItem.Message.From.SmtpAddress.Contains("@")) 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) foreach (EnvelopeRecipient recp in e.MailItem.Recipients)
{ {
WriteLine("\t\tTo: " + recp.Address.ToString().ToLower()); 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); e.MailItem.Recipients.Remove(recp);
} }
} }

View file

@ -10,8 +10,9 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WSPTransportAgent</RootNamespace> <RootNamespace>WSPTransportAgent</RootNamespace>
<AssemblyName>WSPTransportAgent</AssemblyName> <AssemblyName>WSPTransportAgent</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>