diff --git a/.gitignore b/.gitignore index 5863248..fa97a93 100644 --- a/.gitignore +++ b/.gitignore @@ -48,6 +48,7 @@ ipch/ *.psess *.vsp *.vspx +.vs # Guidance Automation Toolkit *.gpState diff --git a/ActiveUp.Net-vs2017.sln b/ActiveUp.Net-vs2017.sln new file mode 100644 index 0000000..e54a957 --- /dev/null +++ b/ActiveUp.Net-vs2017.sln @@ -0,0 +1,639 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.26730.10 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Class Library", "Class Library", "{629D406B-F46A-4A9D-A31F-C5956E0AB157}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Queuing Application", "Queuing Application", "{C95F2CCE-9CA6-45A0-BFE6-4E737072B58F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Copyright", "_Copyright", "{E9A8CFFE-4FAE-4921-A36A-D15DAA105561}" + ProjectSection(SolutionItems) = preProject + COPYRIGHT.txt = COPYRIGHT.txt + LICENSE.txt = LICENSE.txt + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{33BAFFED-FB5D-48EF-85D9-CDE2EB2CFA64}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Mail", "Class Library\ActiveUp.Net.Mail\ActiveUp.Net.Mail.csproj", "{2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.OpenPGP", "Class Library\ActiveUp.Net.OpenPGP\ActiveUp.Net.OpenPGP.csproj", "{00CB8737-BA35-4775-AFA4-B8CD446AB83F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.WhoIs", "Class Library\ActiveUp.Net.WhoIs\ActiveUp.Net.WhoIs.csproj", "{1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Dns", "Class Library\ActiveUp.Net.Dns\ActiveUp.Net.Dns.csproj", "{A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQLibrary", "Queuing System\ActiveQLibrary\ActiveQLibrary.csproj", "{4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQWindowsService", "Queuing System\ActiveQWindowsService\ActiveQWindowsService.csproj", "{E2DB3912-543F-4971-AAE0-2764FF746B34}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQConfiguration", "Queuing System\ActiveQConfiguration\ActiveQConfiguration.csproj", "{9A55170C-A322-4783-B70D-E1E088E281D6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQManager", "Queuing System\ActiveQManager\ActiveQManager.csproj", "{01406851-4718-47E4-9FA3-B88CEE494282}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQInstallCreateDefaultConfig", "Queuing System\ActiveQInstallCreateDefaultConfig\ActiveQInstallCreateDefaultConfig.csproj", "{03838A8B-B69A-4105-80DF-0B477B362CCF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQInstallInteractDesktop", "Queuing System\ActiveQInstallInteractDesktop\ActiveQInstallInteractDesktop.csproj", "{90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQInstallLaunchService", "Queuing System\ActiveQInstallLaunchService\ActiveQInstallLaunchService.csproj", "{9474D5ED-903B-4AD3-A31C-1835B47A6069}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQInstallDescription", "Queuing System\ActiveQInstallDescription\ActiveQInstallDescription.csproj", "{B100399D-BE6B-4339-92AD-3175AE808D0E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveQTestConsole", "Queuing System\ActiveQTestConsole\ActiveQTestConsole.csproj", "{475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Groupware", "Class Library\ActiveUp.Net.Groupware\ActiveUp.Net.Groupware.csproj", "{C646ED2B-50B7-4178-BEFA-657F1259251F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Common", "Class Library\ActiveUp.Net.Common\ActiveUp.Net.Common.csproj", "{3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Imap4", "Class Library\ActiveUp.Net.Imap4\ActiveUp.Net.Imap4.csproj", "{6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Nntp", "Class Library\ActiveUp.Net.Nntp\ActiveUp.Net.Nntp.csproj", "{FF4B354A-213B-415A-B8F7-582BAAFABC8C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Pop3", "Class Library\ActiveUp.Net.Pop3\ActiveUp.Net.Pop3.csproj", "{3F01CF20-C49D-44A9-AA57-68F04915FE97}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Smtp", "Class Library\ActiveUp.Net.Smtp\ActiveUp.Net.Smtp.csproj", "{D9BCD15E-A438-4554-89D3-1CF122167FDD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net.Tests", "Class Library\ActiveUp.Net.Tests\ActiveUp.Net.Tests.csproj", "{5AD3438E-9024-4908-BA15-92726159C4FB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ActiveUp.Net", "Class Library\ActiveUp.Net\ActiveUp.Net.csproj", "{25DA9502-B959-4E81-9368-471AE231BCC0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|.NET = Debug|.NET + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + MailSystem Dev|.NET = MailSystem Dev|.NET + MailSystem Dev|Any CPU = MailSystem Dev|Any CPU + MailSystem Dev|Mixed Platforms = MailSystem Dev|Mixed Platforms + Release|.NET = Release|.NET + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Retail|.NET = Retail|.NET + Retail|Any CPU = Retail|Any CPU + Retail|Mixed Platforms = Retail|Mixed Platforms + Trial|.NET = Trial|.NET + Trial|Any CPU = Trial|Any CPU + Trial|Mixed Platforms = Trial|Mixed Platforms + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Debug|.NET.ActiveCfg = Debug|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Release|.NET.ActiveCfg = Release|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Release|Any CPU.Build.0 = Release|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Release|Mixed Platforms.ActiveCfg = Release|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Release|Mixed Platforms.Build.0 = Release|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Retail|.NET.ActiveCfg = Retail|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Retail|Any CPU.Build.0 = Retail|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Retail|Mixed Platforms.ActiveCfg = Retail|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Retail|Mixed Platforms.Build.0 = Retail|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Trial|.NET.ActiveCfg = Trial|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Trial|Any CPU.Build.0 = Trial|Any CPU + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Trial|Mixed Platforms.ActiveCfg = Trial|Compact + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6}.Trial|Mixed Platforms.Build.0 = Trial|Compact + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Debug|.NET.ActiveCfg = Debug|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Release|.NET.ActiveCfg = Release|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Release|Any CPU.Build.0 = Release|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Retail|.NET.ActiveCfg = Retail|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Retail|Any CPU.Build.0 = Retail|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Trial|.NET.ActiveCfg = Trial|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Trial|Any CPU.Build.0 = Trial|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {00CB8737-BA35-4775-AFA4-B8CD446AB83F}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Debug|.NET.ActiveCfg = Debug|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Release|.NET.ActiveCfg = Release|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Release|Any CPU.Build.0 = Release|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Retail|.NET.ActiveCfg = Retail|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Retail|Any CPU.Build.0 = Retail|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Trial|.NET.ActiveCfg = Trial|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Trial|Any CPU.Build.0 = Trial|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Debug|.NET.ActiveCfg = Debug|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Release|.NET.ActiveCfg = Release|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Release|Any CPU.Build.0 = Release|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Retail|.NET.ActiveCfg = Retail|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Retail|Any CPU.Build.0 = Retail|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Trial|.NET.ActiveCfg = Trial|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Trial|Any CPU.Build.0 = Trial|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Debug|.NET.ActiveCfg = Debug|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Release|.NET.ActiveCfg = Release|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Release|Any CPU.Build.0 = Release|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Retail|.NET.ActiveCfg = Retail|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Retail|Any CPU.Build.0 = Retail|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Trial|.NET.ActiveCfg = Trial|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Trial|Any CPU.Build.0 = Trial|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Debug|.NET.ActiveCfg = Debug|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Release|.NET.ActiveCfg = Release|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Release|Any CPU.Build.0 = Release|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Retail|.NET.ActiveCfg = Retail|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Retail|Any CPU.Build.0 = Retail|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Trial|.NET.ActiveCfg = Trial|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Trial|Any CPU.Build.0 = Trial|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {E2DB3912-543F-4971-AAE0-2764FF746B34}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Debug|.NET.ActiveCfg = Debug|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Release|.NET.ActiveCfg = Release|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Release|Any CPU.Build.0 = Release|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Retail|.NET.ActiveCfg = Retail|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Retail|Any CPU.Build.0 = Retail|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Trial|.NET.ActiveCfg = Trial|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Trial|Any CPU.Build.0 = Trial|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {9A55170C-A322-4783-B70D-E1E088E281D6}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Debug|.NET.ActiveCfg = Debug|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Debug|Any CPU.Build.0 = Debug|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Release|.NET.ActiveCfg = Release|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Release|Any CPU.ActiveCfg = Release|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Release|Any CPU.Build.0 = Release|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Retail|.NET.ActiveCfg = Retail|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Retail|Any CPU.Build.0 = Retail|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Trial|.NET.ActiveCfg = Trial|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Trial|Any CPU.Build.0 = Trial|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {01406851-4718-47E4-9FA3-B88CEE494282}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Debug|.NET.ActiveCfg = Debug|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Release|.NET.ActiveCfg = Release|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Release|Any CPU.Build.0 = Release|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Retail|.NET.ActiveCfg = Retail|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Retail|Any CPU.Build.0 = Retail|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Trial|.NET.ActiveCfg = Trial|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Trial|Any CPU.Build.0 = Trial|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {03838A8B-B69A-4105-80DF-0B477B362CCF}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Debug|.NET.ActiveCfg = Debug|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Release|.NET.ActiveCfg = Release|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Release|Any CPU.Build.0 = Release|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Retail|.NET.ActiveCfg = Retail|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Retail|Any CPU.Build.0 = Retail|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Trial|.NET.ActiveCfg = Trial|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Trial|Any CPU.Build.0 = Trial|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Debug|.NET.ActiveCfg = Debug|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Release|.NET.ActiveCfg = Release|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Release|Any CPU.Build.0 = Release|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Retail|.NET.ActiveCfg = Retail|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Retail|Any CPU.Build.0 = Retail|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Trial|.NET.ActiveCfg = Trial|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Trial|Any CPU.Build.0 = Trial|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {9474D5ED-903B-4AD3-A31C-1835B47A6069}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Debug|.NET.ActiveCfg = Debug|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Release|.NET.ActiveCfg = Release|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Release|Any CPU.Build.0 = Release|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Retail|.NET.ActiveCfg = Retail|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Retail|Any CPU.Build.0 = Retail|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Trial|.NET.ActiveCfg = Trial|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Trial|Any CPU.Build.0 = Trial|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {B100399D-BE6B-4339-92AD-3175AE808D0E}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Debug|.NET.ActiveCfg = Debug|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Release|.NET.ActiveCfg = Release|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Release|Any CPU.Build.0 = Release|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Retail|.NET.ActiveCfg = Retail|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Retail|Any CPU.Build.0 = Retail|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Trial|.NET.ActiveCfg = Trial|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Trial|Any CPU.Build.0 = Trial|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Debug|.NET.ActiveCfg = Debug|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Release|.NET.ActiveCfg = Release|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Release|Any CPU.Build.0 = Release|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Retail|.NET.ActiveCfg = Retail|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Retail|Any CPU.Build.0 = Retail|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Trial|.NET.ActiveCfg = Trial|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Trial|Any CPU.Build.0 = Trial|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {C646ED2B-50B7-4178-BEFA-657F1259251F}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Debug|.NET.ActiveCfg = Debug|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Release|.NET.ActiveCfg = Release|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Release|Any CPU.Build.0 = Release|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Retail|.NET.ActiveCfg = Retail|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Retail|Any CPU.Build.0 = Retail|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Trial|.NET.ActiveCfg = Trial|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Trial|Any CPU.Build.0 = Trial|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Debug|.NET.ActiveCfg = Debug|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Release|.NET.ActiveCfg = Release|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Release|Any CPU.Build.0 = Release|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Retail|.NET.ActiveCfg = Retail|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Retail|Any CPU.Build.0 = Retail|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Trial|.NET.ActiveCfg = Trial|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Trial|Any CPU.Build.0 = Trial|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Debug|.NET.ActiveCfg = Debug|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Release|.NET.ActiveCfg = Release|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Release|Any CPU.Build.0 = Release|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Retail|.NET.ActiveCfg = Retail|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Retail|Any CPU.Build.0 = Retail|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Trial|.NET.ActiveCfg = Trial|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Trial|Any CPU.Build.0 = Trial|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {FF4B354A-213B-415A-B8F7-582BAAFABC8C}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Debug|.NET.ActiveCfg = Debug|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Release|.NET.ActiveCfg = Release|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Release|Any CPU.Build.0 = Release|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Retail|.NET.ActiveCfg = Retail|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Retail|Any CPU.Build.0 = Retail|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Trial|.NET.ActiveCfg = Trial|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Trial|Any CPU.Build.0 = Trial|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {3F01CF20-C49D-44A9-AA57-68F04915FE97}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Debug|.NET.ActiveCfg = Debug|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.MailSystem Dev|.NET.ActiveCfg = MailSystem Dev|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.MailSystem Dev|Any CPU.ActiveCfg = MailSystem Dev|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.MailSystem Dev|Any CPU.Build.0 = MailSystem Dev|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.MailSystem Dev|Mixed Platforms.ActiveCfg = MailSystem Dev|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.MailSystem Dev|Mixed Platforms.Build.0 = MailSystem Dev|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Release|.NET.ActiveCfg = Release|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Release|Any CPU.Build.0 = Release|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Retail|.NET.ActiveCfg = Retail|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Retail|Any CPU.Build.0 = Retail|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Trial|.NET.ActiveCfg = Trial|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Trial|Any CPU.Build.0 = Trial|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {D9BCD15E-A438-4554-89D3-1CF122167FDD}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Debug|.NET.ActiveCfg = Debug|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.MailSystem Dev|.NET.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.MailSystem Dev|Any CPU.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.MailSystem Dev|Any CPU.Build.0 = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.MailSystem Dev|Mixed Platforms.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.MailSystem Dev|Mixed Platforms.Build.0 = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Release|.NET.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Release|Any CPU.Build.0 = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Retail|.NET.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Retail|Any CPU.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Retail|Any CPU.Build.0 = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Retail|Mixed Platforms.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Retail|Mixed Platforms.Build.0 = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Trial|.NET.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Trial|Any CPU.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Trial|Any CPU.Build.0 = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Trial|Mixed Platforms.ActiveCfg = Release|Any CPU + {5AD3438E-9024-4908-BA15-92726159C4FB}.Trial|Mixed Platforms.Build.0 = Release|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Debug|.NET.ActiveCfg = Debug|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Debug|.NET.Build.0 = Debug|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.MailSystem Dev|.NET.ActiveCfg = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.MailSystem Dev|.NET.Build.0 = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.MailSystem Dev|Any CPU.ActiveCfg = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.MailSystem Dev|Any CPU.Build.0 = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.MailSystem Dev|Mixed Platforms.ActiveCfg = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.MailSystem Dev|Mixed Platforms.Build.0 = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Release|.NET.ActiveCfg = Release|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Release|.NET.Build.0 = Release|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Release|Any CPU.Build.0 = Release|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Retail|.NET.ActiveCfg = Retail|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Retail|.NET.Build.0 = Retail|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Retail|Any CPU.ActiveCfg = Retail|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Retail|Any CPU.Build.0 = Retail|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Retail|Mixed Platforms.ActiveCfg = Retail|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Retail|Mixed Platforms.Build.0 = Retail|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Trial|.NET.ActiveCfg = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Trial|.NET.Build.0 = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Trial|Any CPU.ActiveCfg = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Trial|Any CPU.Build.0 = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Trial|Mixed Platforms.ActiveCfg = Trial|Any CPU + {25DA9502-B959-4E81-9368-471AE231BCC0}.Trial|Mixed Platforms.Build.0 = Trial|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {2BD4C73E-C8DB-420E-9505-96D3F3BCA7B6} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {00CB8737-BA35-4775-AFA4-B8CD446AB83F} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {1E4D8E5B-D422-47DC-9CF3-B8E88A4472AF} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {A82CE4DD-9B08-439C-BC28-CB7B2BFFA85C} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {4F0FD37F-0C57-46DD-A9E3-6A5A1FA12166} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {E2DB3912-543F-4971-AAE0-2764FF746B34} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {9A55170C-A322-4783-B70D-E1E088E281D6} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {01406851-4718-47E4-9FA3-B88CEE494282} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {03838A8B-B69A-4105-80DF-0B477B362CCF} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {90A0FFA4-A279-43D4-BFE7-14FA0F3274CE} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {9474D5ED-903B-4AD3-A31C-1835B47A6069} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {B100399D-BE6B-4339-92AD-3175AE808D0E} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {475CDE73-90F0-4DCF-8B6A-0B0A0FF37FC5} = {C95F2CCE-9CA6-45A0-BFE6-4E737072B58F} + {C646ED2B-50B7-4178-BEFA-657F1259251F} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {FF4B354A-213B-415A-B8F7-582BAAFABC8C} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {3F01CF20-C49D-44A9-AA57-68F04915FE97} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {D9BCD15E-A438-4554-89D3-1CF122167FDD} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + {5AD3438E-9024-4908-BA15-92726159C4FB} = {33BAFFED-FB5D-48EF-85D9-CDE2EB2CFA64} + {25DA9502-B959-4E81-9368-471AE231BCC0} = {629D406B-F46A-4A9D-A31F-C5956E0AB157} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {BBCFB72D-84B7-4F14-BA2E-A464210881F7} + EndGlobalSection +EndGlobal diff --git a/Class Library/ActiveUp.Net.Common/ContentType.cs b/Class Library/ActiveUp.Net.Common/ContentType.cs index eff852c..6551cd8 100644 --- a/Class Library/ActiveUp.Net.Common/ContentType.cs +++ b/Class Library/ActiveUp.Net.Common/ContentType.cs @@ -19,6 +19,9 @@ namespace ActiveUp.Net.Mail { + /// + /// ContentType Header Class. + /// #if !PocketPC [Serializable] #endif @@ -26,55 +29,76 @@ public class ContentType : StructuredHeaderField { string _mimeType = "text/plain"; - public string Type + /// + /// Mimetype original or Type + Subtype. + /// + public string MimeType { get { - return _mimeType.Split('/')[0]; + return _mimeType; } set { - _mimeType = value + "/" + SubType; + _mimeType = value; } } - public string SubType + + /// + /// The type of content-type + /// + public string Type { get { - return _mimeType.Split('/')[1]; + var type = _mimeType.Split('/')[0]; + return type ?? ""; } set { - _mimeType = Type + "/" + value; + _mimeType = value + "/" + SubType; } } - public string MimeType + + /// + /// Subtype of content-type received, if invalid, return "plain" + /// + public string SubType { get { - return _mimeType; + var mimeParts = _mimeType.Split('/'); + if (mimeParts.Length < 2) return "plain"; + var subtype = _mimeType.Split('/')[1]; + subtype = string.IsNullOrWhiteSpace(subtype) ? "plain" : subtype; + return subtype; } set { - _mimeType = value; + _mimeType = Type + "/" + value; } } + + /// + /// Override of method to explain content type string + /// + /// public override string ToString() { - string str = string.Empty; - str += "Content-Type: " + MimeType; + var builder = new System.Text.StringBuilder(); + builder.Append("Content-Type: " + MimeType); foreach (string key in Parameters.AllKeys) { - string value = string.Empty; - + var value = string.Empty; + if (key.Equals("boundary")) value = "\"" + Parameters[key] + "\""; else value = Parameters[key]; - str += ";\r\n\t" + key + "=" + value; + builder.Append(";\r\n\t" + key + "=" + value); } - return str; + return builder.ToString(); } } } diff --git a/Class Library/ActiveUp.Net.Common/Message.cs b/Class Library/ActiveUp.Net.Common/Message.cs index b5a1921..75662fe 100644 --- a/Class Library/ActiveUp.Net.Common/Message.cs +++ b/Class Library/ActiveUp.Net.Common/Message.cs @@ -542,7 +542,7 @@ public MimePart ToMimePart() /// public string ToMimeString() { - return ToMimeString(false); + return ToMimeString(true); } /// diff --git a/Class Library/ActiveUp.Net.Common/MimeBody.cs b/Class Library/ActiveUp.Net.Common/MimeBody.cs index 46a4357..a11682b 100644 --- a/Class Library/ActiveUp.Net.Common/MimeBody.cs +++ b/Class Library/ActiveUp.Net.Common/MimeBody.cs @@ -84,7 +84,7 @@ public string Text else return ProductHelper.GetTrialString(this._text, TrialStringType.LongText); #else - string ret = _text; + string ret = _text ?? ""; ret = ret.Replace("FLAGS (Seen)", string.Empty); return ret; #endif diff --git a/Class Library/ActiveUp.Net.Common/Parser.cs b/Class Library/ActiveUp.Net.Common/Parser.cs index 79b31a8..4d8b006 100644 --- a/Class Library/ActiveUp.Net.Common/Parser.cs +++ b/Class Library/ActiveUp.Net.Common/Parser.cs @@ -34,7 +34,7 @@ namespace ActiveUp.Net.Mail #endif public static class Parser { - private static Encoding defaultEncoding = Encoding.GetEncoding("iso-8859-1"); + private static Encoding defaultEncoding = Encoding.UTF8; #region Methods @@ -97,9 +97,11 @@ internal static string InvGetMonth(int month) /// private static ContentType GetContentType(string input) { - ContentType field = new ContentType(); - field.MimeType = Regex.Match(input, @"(?<=: ?)\S+?(?=([;\s]|\Z))").Value; - Match parammatch = Regex.Match(input, @"(?<=;\s*)[^;\s?]*=[^;]*(?=(;|\Z))"); + var field = new ContentType + { + MimeType = Regex.Match(input, @"(?<=: ?)\S+?(?=([;\s]|\Z))").Value + }; + var parammatch = Regex.Match(input, @"(?<=;\s*)[^;\s?]*=[^;]*(?=(;|\Z))"); while (parammatch.Success) { field.Parameters.Add(FormatFieldName(parammatch.Value.Substring(0, parammatch.Value.IndexOf('='))).ToLower(), parammatch.Value.Substring(parammatch.Value.IndexOf('=') + 1).Replace("\"", "").Trim('\r', '\n')); @@ -115,20 +117,28 @@ private static ContentType GetContentType(string input) /// private static ContentDisposition GetContentDisposition(string input) { - ContentDisposition field = new ContentDisposition(); - //TODO: include TAB detection in Regex - field.Disposition = Regex.Match(input.Replace("\t", ""), @"(?<=: ?)\S+?(?=([;\s]|\Z))").Value; + var field = new ContentDisposition + { + //TODO: include TAB detection in Regex + Disposition = Regex.Match(input.Replace("\t", ""), @"(?<=: ?)\S+?(?=([;\s]|\Z))").Value + }; //TODO: include TAB detection in Regex Match parammatch = Regex.Match(input.Replace("\t", ""), @"(?<=;[ \t]?)[^;]*=[^;]*(?=(;|\Z))"); for (; parammatch.Success; parammatch = parammatch.NextMatch()) field.Parameters.Add(FormatFieldName(parammatch.Value.Substring(0, parammatch.Value.IndexOf('='))), parammatch.Value.Substring(parammatch.Value.IndexOf('=') + 1).Replace("\"", "").Trim('\r', '\n')); return field; } + [Obsolete("We are migrating ASCII default char structure to UTF8, please, use GetUtf8ByteCountOfPart() as a default.")] private static int GetASCIIByteCountOfPart(string part) { return Encoding.ASCII.GetByteCount(part); } + private static int GetUtf8ByteCountOfPart(string part) + { + return Encoding.UTF8.GetByteCount(part); + } + /// /// Parses the sub parts. /// @@ -136,27 +146,27 @@ private static int GetASCIIByteCountOfPart(string part) private static void ParseSubParts(ref MimePart part, Message message) { string boundary = part.ContentType.Parameters["boundary"]; - string parentPartAsciiBody = ToASCII(part.BinaryContent); + string parentPartUtf8Body = ToUtf8(part.BinaryContent); byte[] parentPartBinary = part.BinaryContent; Logger.AddEntry(typeof(Parser), "boundary : " + boundary); - string[] arrpart = Regex.Split(parentPartAsciiBody, @"\r?\n?" + Regex.Escape("--" + boundary)); + string[] arrpart = Regex.Split(parentPartUtf8Body, @"\r?\n?" + Regex.Escape("--" + boundary)); foreach (var strpart in arrpart) { if (string.IsNullOrWhiteSpace(strpart)) continue; - int bounaryByteLen = GetASCIIByteCountOfPart(parentPartAsciiBody.Substring(0, parentPartAsciiBody.IndexOf(strpart))); - int binaryPartLen = bounaryByteLen + GetASCIIByteCountOfPart(strpart); - parentPartAsciiBody = null; + int bounaryByteLen = GetUtf8ByteCountOfPart(parentPartUtf8Body.Substring(0, parentPartUtf8Body.IndexOf(strpart))); + int binaryPartLen = bounaryByteLen + GetUtf8ByteCountOfPart(strpart); + parentPartUtf8Body = null; //complete Part (incl. boundary) byte[] binaryPart = new byte[binaryPartLen]; Array.Copy(parentPartBinary, binaryPart, binaryPart.Length); //Body only (without Boundary) - byte[] binaryBody = new byte[GetASCIIByteCountOfPart(strpart)]; + byte[] binaryBody = new byte[GetUtf8ByteCountOfPart(strpart)]; Array.Copy(binaryPart, bounaryByteLen, binaryBody, 0, binaryBody.Length); //Remove Subpart from ParentPart @@ -169,7 +179,7 @@ private static void ParseSubParts(ref MimePart part, Message message) GC.WaitForPendingFinalizers(); parentPartBinary = tmp; - parentPartAsciiBody = ToASCII(parentPartBinary); + parentPartUtf8Body = defaultEncoding.GetString(parentPartBinary); tmp = null; if (!strpart.StartsWith("--") && !string.IsNullOrEmpty(strpart)) @@ -250,7 +260,7 @@ private static void DispatchPart(MimePart part, ref Message message) else { message.BodyText.Charset = part.Charset; - message.BodyText.Text = part.TextContent; + message.BodyText.Text += part.TextContent; } } else if (part.ContentType.SubType.ToLower().Equals("html")) @@ -287,6 +297,8 @@ private static void DispatchPart(MimePart part, ref Message message) #endif } + // If is an empty content, return without add part. + if (part.BinaryContent.Length == 0 && part?.ContentName == null && string.IsNullOrWhiteSpace(part?.Filename)) return; // Anyway, this is a leaf part of the message. message.LeafMimeParts.Add(part); } @@ -314,7 +326,7 @@ private static void DecodePartBody(ref MimePart part) } else if (part.ContentTransferEncoding.Equals(ContentTransferEncoding.QuotedPrintable)) { - part.TextContent = Codec.FromQuotedPrintable(ToASCII(part.BinaryContent), charset); + part.TextContent = Codec.FromQuotedPrintable(ToUtf8(part.BinaryContent), charset); part.BinaryContent = Codec.GetEncoding(charset).GetBytes(part.TextContent); } else @@ -330,7 +342,7 @@ private static void DecodePartBody(ref MimePart part) private static void DecodeBase64Part(MimePart part, string charset) { - string text = ToASCII(part.BinaryContent); + string text = ToUtf8(part.BinaryContent); byte[] binary = null; #if !PocketPC try @@ -345,7 +357,7 @@ private static void DecodeBase64Part(MimePart part, string charset) binary = Convert.FromBase64String(text); } #endif - text = ToASCII(binary); + text = ToUtf8(binary); if (part.ContentDisposition != ContentDisposition.Attachment) text = Codec.GetEncoding(charset).GetString(binary, 0, binary.Length); @@ -459,10 +471,10 @@ public static string Unfold(string input) /// public static event OnBodyParsedEvent BodyParsed; - private static string ToASCII(byte[] data) + private static string ToUtf8(byte[] data) { const int BUFFER_SIZE = 2048; - StringBuilder sb = new StringBuilder(); + var sb = new StringBuilder(); for (int i = 0; i < data.Length; i += BUFFER_SIZE) sb.Append(ConvertByteBlock(data, i, Math.Min(BUFFER_SIZE, data.Length - i))); @@ -471,7 +483,7 @@ private static string ToASCII(byte[] data) private static string ConvertByteBlock(byte[] data, int start, int length) { - return Encoding.ASCII.GetString(data, start, length); + return Encoding.UTF8.GetString(data, start, length); } private static void ParseHeaderFields(MimePart part, int headerEnd) @@ -495,7 +507,7 @@ private static void ParseBody(byte[] binaryData, MimePart part, int bodyStart) { if (bodyStart < part.OriginalContent.Length) { - string body = part.OriginalContent.Substring(bodyStart); + var body = part.OriginalContent.Substring(bodyStart); part.BinaryContent = GetBinaryPart(binaryData, body); } } @@ -504,26 +516,30 @@ private static void ParseBody(byte[] binaryData, MimePart part, int bodyStart) /// Parses the MIME part. /// /// The data. + /// Message object to update /// public static MimePart ParseMimePart(byte[] binaryData, Message message) { - MimePart part = new MimePart(); - part.ParentMessage = message; - part.OriginalContent = ToASCII(binaryData); //ASCII content for header parsing + var part = new MimePart + { + ParentMessage = message, + OriginalContent = ToUtf8(binaryData) //UTF8 content for header parsing + }; try { // Separate header and body. - int headerEnd = Regex.Match(part.OriginalContent, @".(?=\r?\n\r?\n)").Index + 1; - int bodyStart = Regex.Match(part.OriginalContent, @"(?<=\r?\n\r?\n).").Index; + var headerEnd = Regex.Match(part.OriginalContent, @".(?=\r?\n\r?\n)").Index + 1; + var bodyStart = Regex.Match(part.OriginalContent, @"(?<=\r?\n\r?\n).").Index; - //TODO: remove this workaround - if (bodyStart == 0) + // Solve header only situations. + if (bodyStart == 0 && headerEnd == 1) { - int indexBody = part.OriginalContent.IndexOf("\r\n\r\n"); - if (indexBody > 0) - bodyStart = indexBody; + ParseHeaderFields(part, part.OriginalContent.Length); + return part; } + + // Process Header and Body if (part.OriginalContent.Length >= headerEnd) { ParseHeaderFields(part, headerEnd); @@ -531,12 +547,12 @@ public static MimePart ParseMimePart(byte[] binaryData, Message message) // Build the part tree. // This is a container part. - if (part.ContentType.Type.ToLower().Equals("multipart")) + if (part.ContentType.Type.ToLower().Trim().Equals("multipart")) { ParseSubParts(ref part, message); } // This is a nested message. - else if (part.ContentType.Type.ToLower().Equals("message")) + else if (part.ContentType.Type.ToLower().Trim().Equals("message")) { // TODO: Create an interpreter to this. } @@ -558,9 +574,9 @@ public static MimePart ParseMimePart(byte[] binaryData, Message message) } - private static byte[] GetBinaryPart(byte[] srcData, string asciiPart) + private static byte[] GetBinaryPart(byte[] srcData, string utf8Part) { - byte[] result = new byte[GetASCIIByteCountOfPart(asciiPart)]; + var result = new byte[GetUtf8ByteCountOfPart(utf8Part)]; Array.Copy(srcData, (srcData.Length - result.Length), result, 0, result.Length); return result; @@ -1035,7 +1051,7 @@ public static AddressCollection ParseAddresses(string input) /// public static Address ParseAddress(string input) { - input = input.TrimEnd(';'); + input = (input ?? "").Replace("\"", "").TrimEnd(';'); try { if (!input.Contains("<")) @@ -1043,7 +1059,7 @@ public static Address ParseAddress(string input) Address address = null; - Match displayNameMatch = Regex.Match(input, "(\"?(.+)(\"?(?=\\s?<)|(?=<)))"); + var displayNameMatch = Regex.Match(input, "(\"?(.+)(\"?(?=\\s?<)|(?=<)))"); if (displayNameMatch.Success) address = new Address(input.Replace(displayNameMatch.Value, string.Empty).Trim().Trim(new[] { '<', '>' }), displayNameMatch.Groups[1].Value); else @@ -1052,7 +1068,7 @@ public static Address ParseAddress(string input) CleanupAddress(address); return address; } - catch + catch (Exception) { return new Address { Email = input }; } diff --git a/Class Library/ActiveUp.Net.Common/SslHandShake.cs b/Class Library/ActiveUp.Net.Common/SslHandShake.cs index 16a04a2..ef96dcf 100644 --- a/Class Library/ActiveUp.Net.Common/SslHandShake.cs +++ b/Class Library/ActiveUp.Net.Common/SslHandShake.cs @@ -48,7 +48,7 @@ public SslHandShake(string hostName, System.Security.Authentication.SslProtocols { } - public SslHandShake(string hostName) : this(hostName, System.Security.Authentication.SslProtocols.Default, null, null, null, false) + public SslHandShake(string hostName) : this(hostName, System.Security.Authentication.SslProtocols.None, null, null, null, false) { } diff --git a/Class Library/ActiveUp.Net.Common/TraceInfo.cs b/Class Library/ActiveUp.Net.Common/TraceInfo.cs index a0fc37a..ede1c8a 100644 --- a/Class Library/ActiveUp.Net.Common/TraceInfo.cs +++ b/Class Library/ActiveUp.Net.Common/TraceInfo.cs @@ -95,22 +95,22 @@ private void Initialize(string from, DateTime date, string by, string via, strin public override string ToString() { string source = string.Empty; - if (!From.Equals(string.Empty)) + if (!string.IsNullOrEmpty(From)) source += " from " + From + "\r\n "; - if (!By.Equals(string.Empty)) + if (!string.IsNullOrEmpty(By)) source += " by " + By + "\r\n "; - if (!With.Equals(string.Empty)) + if (!string.IsNullOrEmpty(With)) source += " with " + With + "\r\n "; - if (!For.Equals(string.Empty)) + if (!string.IsNullOrEmpty(For)) source += " for " + For + "\r\n "; - if (!Via.Equals(string.Empty)) + if (!string.IsNullOrEmpty(Via)) source += " via " + Via + "\r\n "; - if (!Id.Equals(string.Empty)) + if (!string.IsNullOrEmpty(Id)) source += " id " + Id + "\r\n "; if (string.IsNullOrEmpty(source)) return ""; - return source.Remove(0,source.Length - 3) + ";" + Date.ToString("r"); + return source.Remove(0, source.Length - 3) + ";" + Date.ToString("r"); } } } diff --git a/Class Library/ActiveUp.Net.Groupware/vCalendar/Parser.cs b/Class Library/ActiveUp.Net.Groupware/vCalendar/Parser.cs index daa486c..df27df1 100644 --- a/Class Library/ActiveUp.Net.Groupware/vCalendar/Parser.cs +++ b/Class Library/ActiveUp.Net.Groupware/vCalendar/Parser.cs @@ -31,28 +31,28 @@ public static vCalendar Parse(string data) data = vCard.Parser.Unfold(data); cal.Events = GetEvents(data); cal.Todos = GetTodos(data); - if ((cal.Events.Count+cal.Todos.Count) > 0) - data = data.Substring(data.IndexOf("\r\n"),data.IndexOf("BEGIN:",data.IndexOf("\r\n"))-data.IndexOf("\r\n")); - foreach(string line in System.Text.RegularExpressions.Regex.Split(data,"\r\n")) + if ((cal.Events.Count + cal.Todos.Count) > 0) + data = data.Substring(data.IndexOf("\r\n"), data.IndexOf("BEGIN:", data.IndexOf("\r\n")) - data.IndexOf("\r\n")); + foreach (string line in System.Text.RegularExpressions.Regex.Split(data, "\r\n")) { string fulltype = line.Split(':')[0]; string type = fulltype.Split(';')[0].ToUpper(); - switch(type) + switch (type) { case "VERSION": - SetVersion(cal,line); + SetVersion(cal, line); break; case "DAYLIGHT": - SetDayLight(cal,line); + SetDayLight(cal, line); break; case "GEO": - SetGeo(cal,line); + SetGeo(cal, line); break; case "TZ": - SetTimeZone(cal,line); + SetTimeZone(cal, line); break; case "PRODID": - SetGeneratorId(cal,line); + SetGeneratorId(cal, line); break; } } @@ -66,7 +66,7 @@ private static void SetDayLight(vCalendar cal, string line) { DayLightSavings savings = new DayLightSavings(); string[] compounds = line.Split(':')[1].Split(';'); - if(compounds[0].ToUpper()=="TRUE") + if (compounds[0].ToUpper() == "TRUE") { savings.IsObserved = true; savings.Offset = int.Parse(compounds[1]); @@ -89,22 +89,31 @@ private static void SetGeo(vCalendar cal, string line) } private static void SetTimeZone(vCalendar cal, string line) { - cal.TimeZone = line.Replace(line.Split(':')[0]+":",""); + cal.TimeZone = line.Replace(line.Split(':')[0] + ":", ""); } private static void SetGeneratorId(vCalendar cal, string line) { - cal.GeneratorId = line.Replace(line.Split(':')[0]+":",""); + cal.GeneratorId = line.Replace(line.Split(':')[0] + ":", ""); } private static vEventCollection GetEvents(string data) { int lastPosition = 0; vEventCollection events = new vEventCollection(); + + if (data.ToUpper().IndexOf("BEGIN:VEVENT") == -1) return events; + if (data.ToUpper().IndexOf("END:VEVENT") == -1) return events; + LookForFurtherEvents: - string eventData = data.Substring(data.ToUpper().IndexOf("BEGIN:VEVENT",lastPosition),data.ToUpper().IndexOf("END:VEVENT",lastPosition)+10-data.ToUpper().IndexOf("BEGIN:VEVENT",lastPosition)); - lastPosition = data.ToUpper().IndexOf("END:VEVENT",lastPosition)+10; + + var eventData = data.Substring(data.ToUpper().IndexOf("BEGIN:VEVENT", lastPosition), data.ToUpper().IndexOf("END:VEVENT", lastPosition) + 10 - data.ToUpper().IndexOf("BEGIN:VEVENT", lastPosition)); + lastPosition = data.ToUpper().IndexOf("END:VEVENT", lastPosition) + 10; events.Add(ParseEvent(eventData)); - if(data.ToUpper().IndexOf("BEGIN:VEVENT",lastPosition)!=-1) + + if (data.ToUpper().IndexOf("BEGIN:VEVENT", lastPosition) != -1) + { goto LookForFurtherEvents; + } + return events; } private static vTodoCollection GetTodos(string data) @@ -112,21 +121,26 @@ private static vTodoCollection GetTodos(string data) int lastPosition = 0; vTodoCollection todos = new vTodoCollection(); + if (data.IndexOf("BEGIN:VTODO") == -1) return todos; + if (data.IndexOf("END:VTODO") == -1) return todos; + LookForFurtherTodos: - if (data.IndexOf("BEGIN:VTODO") > -1) + + var todoData = data.Substring(data.ToUpper().IndexOf("BEGIN:VTODO", lastPosition), data.ToUpper().IndexOf("END:VTODO", lastPosition) + 10 - data.ToUpper().IndexOf("BEGIN:VTODO", lastPosition)); + lastPosition = data.ToUpper().IndexOf("END:VTODO", lastPosition) + 10; + todos.Add(ParseTodo(todoData)); + + if (data.ToUpper().IndexOf("BEGIN:VTODO", lastPosition) != -1) { - string todoData = data.Substring(data.ToUpper().IndexOf("BEGIN:VTODO", lastPosition), data.ToUpper().IndexOf("END:VTODO", lastPosition) + 10 - data.ToUpper().IndexOf("BEGIN:VTODO", lastPosition)); - lastPosition = data.ToUpper().IndexOf("END:VTODO", lastPosition) + 10; - todos.Add(ParseTodo(todoData)); - if (data.ToUpper().IndexOf("BEGIN:VTODO", lastPosition) != -1) - goto LookForFurtherTodos; + goto LookForFurtherTodos; } - + return todos; } public static DateTime ParseDate(string input) { - try { + try + { return DateTime.Parse(input); } catch @@ -136,7 +150,7 @@ public static DateTime ParseDate(string input) input = input.Insert(4, "-"); input = input.Insert(7, "-"); } - else if (input.Length == 16) + else if (input.Length >= 15) { input = input.Insert(4, "-"); input = input.Insert(7, "-"); @@ -149,18 +163,18 @@ public static DateTime ParseDate(string input) public static vEvent ParseEvent(string data) { vEvent even = new vEvent(); - - foreach(string line in System.Text.RegularExpressions.Regex.Split(data,"\r\n")) + + foreach (string line in System.Text.RegularExpressions.Regex.Split(data, "\r\n")) { string fulltype = line.Split(':')[0]; string type = fulltype.Split(';')[0].ToUpper(); - switch(type) + switch (type) { case "ATTACH": - AddAttachment(even,line); + AddAttachment(even, line); break; case "ATTENDEE": - AddAttendee(even,line); + AddAttendee(even, line); break; //case "LOCATION": case "DTSTART": @@ -182,12 +196,12 @@ public static vEvent ParseEvent(string data) case "PRIORITY": even.Priority = Convert.ToInt32(line.Split(':')[1]); break; - //case "GEO": ActiveUp.Net.Groupware.vCalendar.Parser.SetGeo(even,line); - // break; - //case "TZ": ActiveUp.Net.Groupware.vCalendar.Parser.SetTimeZone(even,line); - // break; - //case "PRODID": ActiveUp.Net.Groupware.vCalendar.Parser.SetGeneratorId(even,line); - // break; + //case "GEO": ActiveUp.Net.Groupware.vCalendar.Parser.SetGeo(even,line); + // break; + //case "TZ": ActiveUp.Net.Groupware.vCalendar.Parser.SetTimeZone(even,line); + // break; + //case "PRODID": ActiveUp.Net.Groupware.vCalendar.Parser.SetGeneratorId(even,line); + // break; } } return even; @@ -195,61 +209,61 @@ public static vEvent ParseEvent(string data) private static void SetValueAndType(Property property, string line) { string uppercase = line.Split(':')[0].ToUpper(); - if(uppercase.IndexOf("CID")!=-1 || uppercase.IndexOf("CONTENT-ID")!=-1) + if (uppercase.IndexOf("CID") != -1 || uppercase.IndexOf("CONTENT-ID") != -1) property.ValueType = ValueType.ContentId; - else if(uppercase.IndexOf("URL")!=-1) + else if (uppercase.IndexOf("URL") != -1) property.ValueType = ValueType.Url; string charset = "utf-8"; - if(uppercase.IndexOf("CHARSET")!=-1) - charset = uppercase.Substring(uppercase.IndexOf("CHARSET="),uppercase.IndexOf(";",uppercase.IndexOf("CHARSET="))-uppercase.IndexOf("CHARSET=")); - if(uppercase.IndexOf("ENCODING=QUOTED-PRINTABLE")!=-1) - property.Value = FromQuotedPrintable(line.Replace(line.Split(':')[0]+":",""),charset); + if (uppercase.IndexOf("CHARSET") != -1) + charset = uppercase.Substring(uppercase.IndexOf("CHARSET="), uppercase.IndexOf(";", uppercase.IndexOf("CHARSET=")) - uppercase.IndexOf("CHARSET=")); + if (uppercase.IndexOf("ENCODING=QUOTED-PRINTABLE") != -1) + property.Value = FromQuotedPrintable(line.Replace(line.Split(':')[0] + ":", ""), charset); else if (uppercase.IndexOf("ENCODING=BASE64") != -1) { byte[] data = Convert.FromBase64String(line.Replace(line.Split(':')[0] + ":", "")); - property.Value = System.Text.Encoding.GetEncoding(charset).GetString(data,0,data.Length); + property.Value = System.Text.Encoding.GetEncoding(charset).GetString(data, 0, data.Length); } else property.Value = line.Replace(line.Split(':')[0] + ":", ""); } private static void AddAttachment(AbstractEntity entity, string line) { Attachment attach = new Attachment(); - SetValueAndType(attach,line); + SetValueAndType(attach, line); entity.Attachments.Add(attach); } private static void AddAttendee(AbstractEntity entity, string line) { Attendee attendee = new Attendee(); - SetValueAndType(attendee,line); + SetValueAndType(attendee, line); attendee.Contact = new Address(attendee.Value); string uppercase = line.Split(':')[0].ToUpper(); - if(uppercase.IndexOf("EXPECT=REQUIRE")!=-1) + if (uppercase.IndexOf("EXPECT=REQUIRE") != -1) attendee.Expectation = Expectation.Required; - else if(uppercase.IndexOf("EXPECT=REQUEST")!=-1) + else if (uppercase.IndexOf("EXPECT=REQUEST") != -1) attendee.Expectation = Expectation.Requested; - else if(uppercase.IndexOf("EXPECT=IMMEDIATE")!=-1) + else if (uppercase.IndexOf("EXPECT=IMMEDIATE") != -1) attendee.Expectation = Expectation.ImmediateResponse; - if(uppercase.IndexOf("ROLE=OWNER")!=-1) + if (uppercase.IndexOf("ROLE=OWNER") != -1) attendee.Role = Role.Owner; - else if(uppercase.IndexOf("ROLE=ORGANIZER")!=-1) + else if (uppercase.IndexOf("ROLE=ORGANIZER") != -1) attendee.Role = Role.Organizer; - else if(uppercase.IndexOf("ROLE=DELEGATE")!=-1) + else if (uppercase.IndexOf("ROLE=DELEGATE") != -1) attendee.Role = Role.Delegate; - if(uppercase.IndexOf("STATUS=ACCEPTED")!=-1) + if (uppercase.IndexOf("STATUS=ACCEPTED") != -1) attendee.Status = Status.Accepted; - else if(uppercase.IndexOf("STATUS=SENT")!=-1) + else if (uppercase.IndexOf("STATUS=SENT") != -1) attendee.Status = Status.Sent; - else if(uppercase.IndexOf("STATUS=TENTATIVE")!=-1) + else if (uppercase.IndexOf("STATUS=TENTATIVE") != -1) attendee.Status = Status.Tentative; - else if(uppercase.IndexOf("STATUS=CONFIRMED")!=-1) + else if (uppercase.IndexOf("STATUS=CONFIRMED") != -1) attendee.Status = Status.Confirmed; - else if(uppercase.IndexOf("STATUS=DECLINED")!=-1) + else if (uppercase.IndexOf("STATUS=DECLINED") != -1) attendee.Status = Status.Declined; - else if(uppercase.IndexOf("STATUS=COMPLETED")!=-1) + else if (uppercase.IndexOf("STATUS=COMPLETED") != -1) attendee.Status = Status.Completed; - else if(uppercase.IndexOf("STATUS=DELEGATED")!=-1) + else if (uppercase.IndexOf("STATUS=DELEGATED") != -1) attendee.Status = Status.Delegated; - if(uppercase.IndexOf("RVSP=YES")!=-1) + if (uppercase.IndexOf("RVSP=YES") != -1) attendee.ReplyRequested = true; entity.Attendees.Add(attendee); } @@ -287,7 +301,7 @@ public static string FromQuotedPrintable(string input, string toCharset) decoded = new byte[arr.Count]; for (int j = 0; j < arr.Count; j++) decoded[j] = (byte)arr[j]; - return System.Text.Encoding.GetEncoding(toCharset).GetString(decoded,0,decoded.Length).TrimEnd('='); + return System.Text.Encoding.GetEncoding(toCharset).GetString(decoded, 0, decoded.Length).TrimEnd('='); } catch { return input; } } diff --git a/Class Library/ActiveUp.Net.Imap4/Fetch.cs b/Class Library/ActiveUp.Net.Imap4/Fetch.cs index d987a6a..f29a32b 100644 --- a/Class Library/ActiveUp.Net.Imap4/Fetch.cs +++ b/Class Library/ActiveUp.Net.Imap4/Fetch.cs @@ -5,7 +5,7 @@ // it under the terms of the GNU Lesser General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. -// +// // MailSystem.NET is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the @@ -13,7 +13,7 @@ // You should have received a copy of the GNU Lesser General Public License // along with SharpMap; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA using System; using System.IO; @@ -29,8 +29,6 @@ namespace ActiveUp.Net.Mail #endif public class Fetch { - private string _response; - private byte[] _binaryResponse; #region Methods @@ -56,7 +54,7 @@ private CommandOptions getFetchOptions() /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -64,9 +62,9 @@ private CommandOptions getFetchOptions() /// string body = inbox.Fetch.Body(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -74,9 +72,9 @@ private CommandOptions getFetchOptions() /// Dim body As String = inbox.Fetch.Body(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -106,7 +104,7 @@ public string EndBody(IAsyncResult result) { return _delegateBody.EndInvoke(result); } - + public string UidBody(int uid) { ParentMailbox.SourceClient.SelectMailbox(ParentMailbox.Name); @@ -137,7 +135,7 @@ public string EndUidBody(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -145,9 +143,9 @@ public string EndUidBody(IAsyncResult result) /// string body = inbox.Fetch.BodySection(1,3); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -155,9 +153,9 @@ public string EndUidBody(IAsyncResult result) /// Dim body As String = inbox.Fetch.Body(1,3); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -217,7 +215,7 @@ public string EndUidBodySection(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -225,9 +223,9 @@ public string EndUidBodySection(IAsyncResult result) /// string body = inbox.Fetch.BodyStructure(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -235,9 +233,9 @@ public string EndUidBodySection(IAsyncResult result) /// Dim body As String = inbox.Fetch.BodyStructure(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -297,7 +295,7 @@ public string EndUidBodyStructure(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -305,9 +303,9 @@ public string EndUidBodyStructure(IAsyncResult result) /// string internalDate = inbox.Fetch.InternalDate(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -315,9 +313,9 @@ public string EndUidBodyStructure(IAsyncResult result) /// Dim internalDate As String = inbox.Fetch.InternalDate(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -377,7 +375,7 @@ public string EndUidInternalDate(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -385,9 +383,9 @@ public string EndUidInternalDate(IAsyncResult result) /// FlagCollection flags = inbox.Fetch.Flags(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -395,9 +393,9 @@ public string EndUidInternalDate(IAsyncResult result) /// Dim flags As FlagCollection = inbox.Fetch.Flags(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -510,7 +508,7 @@ public byte[] EndUidHeader(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -518,9 +516,9 @@ public byte[] EndUidHeader(IAsyncResult result) /// Header Header = inbox.Fetch.Header(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -528,9 +526,9 @@ public byte[] EndUidHeader(IAsyncResult result) /// Dim Header As Header = inbox.Fetch.Header(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -696,7 +694,7 @@ public string EndUidHeaderString(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -707,9 +705,9 @@ public string EndUidHeaderString(IAsyncResult result) /// string messageSubject = lines["subject"]; /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -720,9 +718,9 @@ public string EndUidHeaderString(IAsyncResult result) /// Dim messageSubject As String = lines("subject") /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -891,7 +889,7 @@ public System.Collections.Specialized.NameValueCollection EndUidHeaderLinesNotPe /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -902,9 +900,9 @@ public System.Collections.Specialized.NameValueCollection EndUidHeaderLinesNotPe /// string messageSubject = lines["subject"]; /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -915,9 +913,9 @@ public System.Collections.Specialized.NameValueCollection EndUidHeaderLinesNotPe /// Dim messageSubject As String = lines("subject") /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1087,9 +1085,9 @@ public byte[] Message(int messageOrdinal) { ParentMailbox.SourceClient.SelectMailbox(ParentMailbox.Name); ParentMailbox.SourceClient.OnMessageRetrieving(new MessageRetrievingEventArgs(messageOrdinal)); byte[] response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " rfc822", getFetchOptions()); - _binaryResponse = response; - _response = Encoding.UTF8.GetString(response); - Logger.AddEntry(GetType(), _response); + BinaryResponse = response; + Response = Encoding.UTF8.GetString(response); + Logger.AddEntry(GetType(), Response); byte[] message = ExtractMessageFromReponse(response); @@ -1139,7 +1137,7 @@ public byte[] EndUidMessage(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1147,9 +1145,9 @@ public byte[] EndUidMessage(IAsyncResult result) /// Message message = inbox.Fetch.Message(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1157,9 +1155,9 @@ public byte[] EndUidMessage(IAsyncResult result) /// Dim message As Message = inbox.Fetch.Message(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1259,12 +1257,12 @@ public MemoryStream EndUidMessageStream(IAsyncResult result) /// The ordinal position of the message to be fetched. /// The message's data as a string. /// - public string MessageString(int messageOrdinal) + public string MessageString(int messageOrdinal) { return Encoding.UTF8.GetString(Message(messageOrdinal)); } - private static byte[] ExtractMessageFromReponse(byte[] response) + private static byte[] ExtractMessageFromReponse(byte[] response) { byte[] message = null; string responseString = Encoding.ASCII.GetString(response); @@ -1286,7 +1284,7 @@ private static byte[] ExtractMessageFromReponse(byte[] response) continue; } } - + try { if (message == null || firstline == null) throw new Exception("failed to determine messagesize"); @@ -1300,14 +1298,14 @@ private static byte[] ExtractMessageFromReponse(byte[] response) int suffixLength = Encoding.ASCII.GetByteCount(responseString.Substring(responseString.LastIndexOf(")"))); message = new byte[response.Length - prefixLength - suffixLength]; Array.Copy(response, prefixLength, message, 0, message.Length); - } + } return message; } catch (Exception e) { throw new Exception("failed to extract message from response", e); } } - + private delegate string DelegateMessageString(int messageOrdinal); private DelegateMessageString _delegateMessageString; @@ -1359,12 +1357,12 @@ public byte[] MessagePeek(int messageOrdinal) ParentMailbox.SourceClient.OnMessageRetrieving(new MessageRetrievingEventArgs(messageOrdinal)); byte[] response; if (ParentMailbox.SourceClient.ServerCapabilities.IndexOf("IMAP4rev1") != -1) - response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " body[mime]", getFetchOptions()); + response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " body[mime]", getFetchOptions()); else response = ParentMailbox.SourceClient.CommandBinary("fetch " + messageOrdinal.ToString() + " rfc822.peek", getFetchOptions()); - _binaryResponse = response; - _response = Encoding.UTF8.GetString(response); - + BinaryResponse = response; + Response = Encoding.UTF8.GetString(response); + byte[] message = ExtractMessageFromReponse(response); ParentMailbox.SourceClient.OnMessageRetrieved(new MessageRetrievedEventArgs(message, messageOrdinal)); return message; @@ -1387,7 +1385,19 @@ public byte[] EndMessagePeek(IAsyncResult result) public byte[] UidMessagePeek(int uid) { - return Encoding.UTF8.GetBytes(UidMessageStringPeek(uid)); + ParentMailbox.SourceClient.SelectMailbox(ParentMailbox.Name); + ParentMailbox.SourceClient.OnMessageRetrieving(new MessageRetrievingEventArgs(uid)); + byte[] response; + if (ParentMailbox.SourceClient.ServerCapabilities.IndexOf("IMAP4rev1") != -1) + response = ParentMailbox.SourceClient.CommandBinary("uid fetch " + uid.ToString() + " BODY.PEEK[]", getFetchOptions()); + else + response = ParentMailbox.SourceClient.CommandBinary("uid fetch " + uid.ToString() + " rfc822.peek", getFetchOptions()); + BinaryResponse = response; + Response = Encoding.UTF8.GetString(response); + + byte[] message = ExtractMessageFromReponse(response); + ParentMailbox.SourceClient.OnMessageRetrieved(new MessageRetrievedEventArgs(message, uid)); + return message; } private delegate byte[] DelegateUidMessagePeek(int uid); @@ -1554,7 +1564,7 @@ public string EndUidMessageStringPeek(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1562,9 +1572,9 @@ public string EndUidMessageStringPeek(IAsyncResult result) /// int size = inbox.Fetch.Size(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1572,9 +1582,9 @@ public string EndUidMessageStringPeek(IAsyncResult result) /// Dim size As Integer = inbox.Fetch.Size(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1634,7 +1644,7 @@ public int EndUidSize(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1642,9 +1652,9 @@ public int EndUidSize(IAsyncResult result) /// string messageBody = inbox.Fetch.Text(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1652,9 +1662,9 @@ public int EndUidSize(IAsyncResult result) /// Dim messageBody As Header = inbox.Fetch.Text(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1766,7 +1776,7 @@ public string EndUidTextPeek(IAsyncResult result) /// /// /// C# - /// + /// /// Imap4Client imap = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -1774,9 +1784,9 @@ public string EndUidTextPeek(IAsyncResult result) /// int uid = inbox.Fetch.Uid(1); /// inbox.Close(); /// imap.Disconnect(); - /// + /// /// VB.NET - /// + /// /// Dim imap As New Imap4Client /// imap.Connect("mail.myhost.com") /// imap.Login("jdoe1234","tanstaaf") @@ -1784,9 +1794,9 @@ public string EndUidTextPeek(IAsyncResult result) /// Dim uid As Integer = inbox.Fetch.Uid(1); /// inbox.Close() /// imap.Disconnect() - /// + /// /// JScript.NET - /// + /// /// var imap:Imap4Client = new Imap4Client(); /// imap.Connect("mail.myhost.com"); /// imap.Login("jdoe1234","tanstaaf"); @@ -2159,22 +2169,18 @@ public string EndPartialTextStringPeek(IAsyncResult result) /// /// The complete mail server response /// - public string Response { - get { return _response; } - } + public string Response { get; private set; } /// /// The complete mail server response (binary) /// - public byte[] BinaryResponse { - get { return _binaryResponse; } - } + public byte[] BinaryResponse { get; private set; } /// /// The Fetch's parent mailbox. /// public Mailbox ParentMailbox { get; set; } - + #endregion } } \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj b/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj index 0938260..44a5b97 100644 --- a/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj +++ b/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj @@ -59,9 +59,9 @@ ActiveUp.Net.snk - - False - ..\..\Libs\nunit.framework.dll + + ..\..\packages\NUnit.3.5.0\lib\net40\nunit.framework.dll + True @@ -82,7 +82,9 @@ + + @@ -101,9 +103,21 @@ PreserveNewest + + Always + Always + + Always + + + Always + + + Always + Always @@ -125,15 +139,24 @@ Always + + Always + Always + + Always + PreserveNewest PreserveNewest + + Always + @@ -157,6 +180,10 @@ {3A83AE95-C23F-48B4-9F1A-AD4B32C37B93} ActiveUp.Net.Common + + {C646ED2B-50B7-4178-BEFA-657F1259251F} + ActiveUp.Net.Groupware + {6BEE77DF-2DD2-41C3-BA16-60E20B1EDDCC} ActiveUp.Net.Imap4 diff --git a/Class Library/ActiveUp.Net.Tests/Common/MimePartTests.cs b/Class Library/ActiveUp.Net.Tests/Common/MimePartTests.cs index 6620bc9..21094b0 100644 --- a/Class Library/ActiveUp.Net.Tests/Common/MimePartTests.cs +++ b/Class Library/ActiveUp.Net.Tests/Common/MimePartTests.cs @@ -1,21 +1,27 @@ -using System; -using System.Collections.Specialized; -using System.IO; +using System.IO; using System.Text; using System.Text.RegularExpressions; using ActiveUp.Net.Mail; using NUnit.Framework; +using System.Reflection; namespace ActiveUp.Net.Tests.Common { [TestFixture] public class MimePartTests { - private const string _textfilePath = @"resource\test_textfile.txt"; - private const string _imagefilePath = @"resource\test_picture.gif"; + private static string _baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + private static string _textfilePath; + private static string _imagefilePath; private const string _textContentFileName = ".txt"; private const string _binaryContentFileName = ".gif"; + public MimePartTests() + { + _textfilePath = _baseDir + "\\resource\\test_textfile.txt"; + _imagefilePath = _baseDir + "\\resource\\test_picture.gif"; + } + [Test] public void should_initialize_from_byte_array_for_text_content() { @@ -54,7 +60,7 @@ public void should_initialize_from_byte_array_for_binary_content() public void should_initialize_from_file(bool generateContentId) { var fileBytes = File.ReadAllBytes(_imagefilePath); - + var mimePart = new MimePart(_imagefilePath, generateContentId); mimePart.BinaryContent.ShouldEqual(fileBytes); @@ -122,7 +128,7 @@ public void should_initialize_from_file_with_content_id_and_charset() { var fileBytes = File.ReadAllBytes(_textfilePath); const string contentId = "ContentId"; - + var mimePart = new MimePart(_textfilePath, contentId, "ASCII"); mimePart.BinaryContent.ShouldEqual(fileBytes); @@ -254,18 +260,18 @@ public void should_use_existing_boundary_if_provided_when_generating_mime_string private static MimePart CreateMultipartMimePart(string boundaryOverride = null) { return new MimePart - { - ContentType = + { + ContentType = { MimeType = "multipart/mixed", Parameters = { { "boundary", boundaryOverride } } }, - SubParts = new MimePartCollection + SubParts = new MimePartCollection { new MimePart(_textfilePath, true), new MimePart(_imagefilePath, false) } - }; + }; } [Test] @@ -291,13 +297,13 @@ public void should_serialize_multipart_message_to_mime_string() public void should_serialize_to_mime_string_mutipart_message_with_nested_parts() { var mimePart = new MimePart - { - ContentType = + { + ContentType = { MimeType = "multipart/mixed", Parameters = { { "boundary", "OuterBoundary" } } }, - SubParts = new MimePartCollection + SubParts = new MimePartCollection { new MimePart { @@ -315,7 +321,7 @@ public void should_serialize_to_mime_string_mutipart_message_with_nested_parts() }, new MimePart(_imagefilePath, false) } - }; + }; var outerSubParts = mimePart.ToMimeString().SplitMimeParts("--OuterBoundary\r\n"); outerSubParts.Length.ShouldEqual(3); @@ -412,18 +418,18 @@ public void should_content_transfer_encode_text() [Test(Description = "")] public void should_append_html_parts_with_multipart_related_content_type() { - var message = Parser.ParseMessageFromFile("resource\\html_multipart_related_email_with_subparts.eml"); - message.BodyText.Text.ShouldEqual("Hi,\r\n\r\nI?m the first step of message to test.\r\n\r\nSender\r\nHelper\r\n[Descrição: Descrição: Descrição: Descrição: Imagem4]\r\nE-mail: sender@sender.com\r\nWeb: www.sender.com\r\n\r\nCurta nossa página no Facebook\r\n\r\n\r\n\r\n\r\nDe: Destinatary - Client\r\nEnviada em: quarta-feira, 23 de março de 2016 18:39\r\nPara: Odare; suport@enterprise.com; suporte\r\nCc: contasapagar; Customer2 - Client; Customer3 - Client; Customer4 - Client\r\nAssunto: Email multipart related multilevel\r\n\r\nHi there,\r\n\r\nThis is the multipart original message.\r\n\r\n[cid:image003.jpg@01D185BB.A9907410]\r\n\r\n\r\nFollow the image of problem:\r\n\r\n[cid:image004.jpg@01D185BB.A9907410]\r\n\r\nAtt,\r\n\r\n\r\n\r\n\r\n\r\n"); + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\html_multipart_related_email_with_subparts.eml"); + message.BodyText.Text.ShouldEqual("Hi,\r\n\r\nI'm the first step of message to test.\r\n\r\nSender\r\nHelper\r\n[Descrição: Descrição: Descrição: Descrição: Imagem4]\r\nE-mail: sender@sender.com\r\nWeb: www.sender.com\r\n\r\nCurta nossa página no Facebook\r\n\r\n\r\n\r\n\r\nDe: Destinatary - Client\r\nEnviada em: quarta-feira, 23 de março de 2016 18:39\r\nPara: Odare; suport@enterprise.com; suporte\r\nCc: contasapagar; Customer2 - Client; Customer3 - Client; Customer4 - Client\r\nAssunto: Email multipart related multilevel\r\n\r\nHi there,\r\n\r\nThis is the multipart original message.\r\n\r\n[cid:image003.jpg@01D185BB.A9907410]\r\n\r\n\r\nFollow the image of problem:\r\n\r\n[cid:image004.jpg@01D185BB.A9907410]\r\n\r\nAtt,\r\n\r\n\r\n\r\n\r\n\r\n"); message.BodyHtml.Text.ShouldEqual("\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

Hi,

\r\n

 

\r\n

This is the multipart original message.

\r\n

 

\r\n

Sender

\r\n\r\n\r\n\r\n"); } [Test(Description = "Processing multipart body containing Text and HTML with same Part Id.")] public void should_parse_multipart_body_text_and_html() { - var message = Parser.ParseMessageFromFile("resource\\multipart_body_text_and_html.eml"); - message.Subject.ShouldEqual("Reminder: Mercure Sao Jose Dos Campos Hotel - Please tell us about your stay"); - message.BodyText.Text.ShouldEqual("Prezado(a) Paulo Cesar,\n \n Recentemente enviamos a você um convite para participar de nossa Pesquisa de Satisfação sobre a qualidade da experiência de sua hospedagem no Mercure Sao Jose Dos Campos Hotel.\n \n Notamos que você não teve tempo para completar a pesquisa. Reiteramos nosso interesse em conhecer sua opinião sobre nossos produtos e serviços.\n \n Para preencher a pesquisa, por gentileza clique no endereço abaixo ou copie e cole o endereço no seu navegador.\n \n https://analytics.trustyou.com/surveys/site/review?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b\n \n \n Obrigado por escolher a rede {brand} e esperamos reve-lo(a) em breve.\n \n Atenciosamente,\n \n Mr Denis Mioli\n General Manager\n ---\nDear Paulo Cesar Minuti,\n \n We recently invited you to complete a Guest Satisfaction Survey following your stay with us at Mercure Sao Jose Dos Campos Hotel on 2016-05-20. \n \n We noticed that you have not yet completed the survey. At {brand}, we are committed to providing a superior guest experience to each and every one of our customers and we would value your feedback. To complete the survey, please click on the link:\n \n https://analytics.trustyou.com/surveys/site/review?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b\n \n If the link does not work, please copy and paste the web address into your browser:\n \n https://analytics.trustyou.com/surveys/site/review?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b\n \n Thank you again for choosing {brand}. We look forward to hearing about your stay with us.\n \n Yours sincerely,\n \n Mr Denis Mioli\n General Manager ---------\n\n \n Por gentileza não responda diretamente á este convite.\n \n Assistência Técnica: Caso tenha algum problema no acesso ou preenchimento desta pesquisa, por gentileza envie um email para : contact_accor_gss@trustyou.com.\n \n Se não deseja receber mais este tipo de correspondência : Contamos com o feedback de nossos hóspedes para assegurar que nossos hotéis correspondam e superem expectativas, mas caso não deseje mais receber convites do Mercure Sao Jose Dos Campos Hotel no futuro, por gentileza clique no link abaixo: https://analytics.trustyou.com/surveys/site/unsubscribe?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b .\n \n Para outras solicitações, por gentileza visite : \n www.mercure.com\n ---\n\n \n Technical assistance: if you meet any difficulties with access or answering the survey, please send an email to: service@trustyou.com\n \n For any other demand, please consult our website: www.mercure.com.\n \n This is an email generated automatically, please do not use the function \"answer\".\n \n You may at any time unsubscribe to the above mentioned information by clicking on the link:\n https://analytics.trustyou.com/surveys/site/unsubscribe?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b.\n \n You may exercise your right to access and rectify your data by contacting contact_accor_gss@trustyou.com.\n Powered by TrustYou® - www.trustyou.com "); - message.BodyHtml.Text.ShouldEqual("\r\n
\r\n

Helper

\r\n

\"Descrição:

\r\n

Prezado(a) Paulo Cesar,

Recentemente enviamos a você um convite para participar de nossa Pesquisa de Satisfação sobre a qualidade da experiência de sua hospedagem no Mercure Sao Jose Dos Campos Hotel.

Notamos que você não teve tempo para completar a pesquisa. Reiteramos nosso interesse em conhecer sua opinião sobre nossos produtos e serviços.

Para preencher a pesquisa, por gentileza clique no endereço abaixo ou copie e cole o endereço no seu navegador.

https://analytics.trustyou.com/surveys/site/review?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b


Obrigado por escolher a rede Mercure e esperamos reve-lo(a) em breve.

Atenciosamente,

Mr Denis Mioli
General Manager
Dear Paulo Cesar Minuti,

We recently invited you to complete a Guest Satisfaction Survey following your stay with us at Mercure Sao Jose Dos Campos Hotel on 2016-05-20.

We noticed that you have not yet completed the survey. At Mercure, we are committed to providing a superior guest experience to each and every one of our customers and we would value your feedback. To complete the survey, please click on the link:

Guest Satisfaction Survey

If the link does not work, please copy and paste the web address into your browser:

https://analytics.trustyou.com/surveys/site/review?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b

Thank you again for choosing Mercure. We look forward to hearing about your stay with us.

Yours sincerely,

Mr Denis Mioli
General Manager


Por gentileza não responda diretamente á este convite.

Assistência Técnica: Caso tenha algum problema no acesso ou preenchimento desta pesquisa, por gentileza envie um email para : contact_accor_gss@trustyou.com.

Se não deseja receber mais este tipo de correspondência : Contamos com o feedback de nossos hóspedes para assegurar que nossos hotéis correspondam e superem expectativas, mas caso não deseje mais receber convites do Mercure Sao Jose Dos Campos Hotel no futuro, por gentileza clique no link abaixo: https://analytics.trustyou.com/surveys/site/unsubscribe?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b .

Para outras solicitações, por gentileza visite :
www.mercure.com


Technical assistance: if you meet any difficulties with access or answering the survey, please send an email to: service@trustyou.com

For any other demand, please consult our website: www.mercure.com.

This is an email generated automatically, please do not use the function "answer".

You may at any time unsubscribe to the above mentioned information by clicking on the link:
https://analytics.trustyou.com/surveys/site/unsubscribe?survey_id=9f396fc0-fc6b-4254-b2c0-219f7454daea&access_code=d031adbd-0549-4e7a-8b6f-040919657c9b.

You may exercise your right to access and rectify your data by contacting contact_accor_gss@trustyou.com.
Powered by TrustYou® - www.trustyou.com

For all other requests, please visit http://www.accorhotels.com

"); + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\multipart_body_text_and_html.eml"); + message.Subject.ShouldEqual("Reminder: Test - Please tell us about your stay"); + message.BodyText.Text.ShouldEqual("Prezado(a) Customer,\r\n \r\n Recentemente enviamos a você um convite para participar de nossa Pesquisa de Satisfação sobre a qualidade da experiência de sua hospedagem.\r\n \r\n Notamos que você não teve tempo para completar a pesquisa. Reiteramos nosso interesse em conhecer sua opinião sobre nossos produtos e serviços.\r\n \r\n Para preencher a pesquisa, por gentileza clique no endereço abaixo ou copie e cole o endereço no seu navegador.\r\n \r\n Obrigado por escolher a rede e esperamos reve-lo(a) em breve.\r\n \r\n Atenciosamente,\r\n \r\n Partner\r\n General Manager\r\n \r\n Por gentileza não responda diretamente á este convite.\r\n"); + message.BodyHtml.Text.ShouldEqual("\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Prezado(a) Customer,

Recentemente enviamos a você um convite para participar de nossa Pesquisa de Satisfação sobre a qualidade da experiência de sua hospedagem.

Notamos que você não teve tempo para completar a pesquisa. Reiteramos nosso interesse em conhecer sua opinião sobre nossos produtos e serviços.



Obrigado por escolher a rede e esperamos reve-lo(a) em breve.

Atenciosamente,

Partner
General Manager
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n \r\n"); message.Attachments.Count.ShouldEqual(0); message.To.Count.ShouldEqual(1); } @@ -431,17 +437,29 @@ public void should_parse_multipart_body_text_and_html() [Test(Description = "Process multipart body containing Types with UpperCase char.")] public void should_parse_multipart_body_with_mime_type_using_CamelCase() { - var message = Parser.ParseMessageFromFile("resource\\multipart_with_type_using_camel_case.eml"); + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\multipart_with_type_using_camel_case.eml"); message.Subject.ShouldEqual("Res: Solicitação de reserva"); - Assert.IsNotNullOrEmpty(message.BodyText.Text); - Assert.IsNotNullOrEmpty(message.BodyHtml.Text); - message.BodyText.Text.ShouldEqual("BOA TARDE!\r\r\n\r\r\nRESERVA EFETUADA COM SUCESSO. \r\r\n \r\r\n \r\r\n \r\r\n \r\r\n      \r\r\n\r\r\n-------Mensagem original-------\r\r\n \r\r\nDe: user@domain-test.com\r\r\nData: 01/06/2016 17:08:59\r\r\nPara: client@clientdomain.com.br\r\r\nAssunto: Solicitação de reserva\r\r\n \r\r\nBoa tarde,\r\r\n\r\r\nFavor reservar conforme abaixo.\r\r\n enterpriseSolicitação de Reserva \r\r\n\r\r\nDADOS DA RESERVA\r\r\nTIPONOMEDATA DA RESERVA\r\r\nAdultoCUSTOMER NAME01/06/2016\r\r\n\r\r\nHOTEL\r\r\nCLIENT HOTEL\r\r\nAddress number 0, Iguatu, Brasil\r\r\nTelefone: 88-8888-8888 / Fax: 88-8888-8888\r\r\n \r\r\n\r\r\nCHECK INCHECK OUTTIPO DE TARIFANº DE HÓSPEDES\r\r\n13/06/201614/06/2016Tarifa Cliente1\r\r\n\r\r\n \r\r\nNº DE NOITESDIÁRIA MÉDIATAXA DE SERVIÇOISSTAXA DE TURISMOTOTAL ESTIMADO\r\r\n1R$ 150,80--R$ 0,00R$ 150,80\r\r\n\r\r\nINFORMAÇÕES DE PAGAMENTO\r\r\nFORMA DE PAGAMENTO\r\r\nPagamento Direto\r\r\n\r\r\nINFORMAÇÕES PARA PAGAMENTO/FATURAMENTO\r\r\nOBSERVAÇÕES\r\r\nA cobrança devera ser enviada de forma completa: EXTRATO, RPS, NOTA FISCAL\r\nassinados com descrição dos serviços cobrados (ainda que seja eletronica,o\r\nenvio de uma Nota Fiscal impressa por passageiro é obrigatoria). \r\r\nSOLICITAÇAO DE RESERVA E BOLETO BANCARIO dentro do prazo. \r\r\nDADOS PARA FATURAMENTO - Dados da Agência: Enterprise Viagens e Turismo S.A. -\r\nUnidade: Matriz CNPJ:10.219.666/0000-00 IATA:00503000 - Av Yojiro Takaoka,\r\n4384, Centro - Santana do Parnaiba - São Paulo/SP. \r\r\nENDEREÇO DE COBRANÇA - Cx Postal 52564, Depto de Faturamento, CEP: 08010-971\r\n- São Paulo/SP. \r\r\n\r\r\n\r\r\nDADOS DE GARANTIA\r\r\nTIPO / AGENCIATITULARBANDEIRANÚMEROEXPIRAÇÃOCÓD. SEG.\r\r\nNome: ENTERPRISE JTB \r\r\n\r\r\nINFORMAÇÕES ADICIONAIS\r\r\nAGÊNCIATELEFONEEMAILRESPONSÁVELORDEM DE SERVIÇOPROCESSO COMERCIAL\r\r\nNYCOMED(11)3217-6322plantao@domain-test.comNAME LASTNAME668029820.1.19\r\n2016/5935\r\r\n\r\r\n \r\r\nAtenciosamente , \r\r\nNAME LASTNAME\r\r\nuser@domain-test.com \r\r\nAtendimento Posto Virtual Enterprise\r\r\nEnterprise JTB\r\r\ntelefone +1132170000\r\r\ndireto +1132170000\r\r\ncelular +55 \r\r\nemergencial +55 11 3217-0000 \r\r\n\r\r\n \r\r\n\r\r\n\r\r\n \r\r\n "); - message.BodyHtml.Text.ShouldEqual("\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
BOA TARDE!
\r\n
 
\r\n
RESERVA EFETUADA COM SUCESSO. 
\r\n
 
\r\n
 
\r\n
\r\n
 
\r\n
 
\r\n
\r\n
      \r\n
\r\n
-------Mensagem original-------
\r\n
 
\r\n
\r\n\r\n
Data: 01/06/2016 17:08:59
\r\n\r\n
Assunto: Solicitação de reserva
\r\n
 
Boa tarde,

Favor reservar conforme abaixo.
  \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

ENTERPRISE

Solicitação de Reserva 
DADOS DA RESERVA
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
TIPONOMEDATA DA RESERVA
AdultoCUSTOMER NAME01/06/2016
HOTEL
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
CLIENT HOTEL
Address number 0, Iguatu, Brasil
Telefone: 88-8888-8888 / Fax: 88-8888-8888
 
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
CHECK INCHECK OUTTIPO DE TARIFANº DE HÓSPEDES
13/06/201614/06/2016Tarifa Cliente1
 
Nº DE NOITESDIÁRIA MÉDIATAXA DE SERVIÇOISSTAXA DE TURISMOTOTAL ESTIMADO
1R$ 150,80--R$ 0,00R$ 150,80
INFORMAÇÕES DE PAGAMENTO
\r\n\r\n\r\n\r\n\r\n\r\n
FORMA DE PAGAMENTO
Pagamento Direto
INFORMAÇÕES PARA PAGAMENTO/FATURAMENTO
\r\n\r\n\r\n\r\n\r\n\r\n
OBSERVAÇÕES
\r\n
    \r\n
  • A cobrança devera ser enviada de forma completa: EXTRATO, RPS, NOTA FISCAL assinados com descrição dos serviços cobrados (ainda que seja eletronica,o envio de uma Nota Fiscal impressa por passageiro é obrigatoria). \r\n
  • SOLICITAÇAO DE RESERVA E BOLETO BANCARIO dentro do prazo. \r\n
  • DADOS PARA FATURAMENTO - Dados da Agência: Enterprise Viagens e Turismo S.A. - Unidade: Matriz CNPJ:10.219.666/0000-00 IATA:57503515 - Av Yojiro Takaoka, 4384, Centro - Santana do Parnaiba - São Paulo/SP. \r\n
  • ENDEREÇO DE COBRANÇA - Cx Postal 52564, Depto de Faturamento, CEP: 08010-971 - São Paulo/SP.
DADOS DE GARANTIA
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
TIPO / AGENCIATITULARBANDEIRANÚMEROEXPIRAÇÃOCÓD. SEG.
Nome: ENTERPRISE JTB     
INFORMAÇÕES ADICIONAIS
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
AGÊNCIATELEFONEEMAILRESPONSÁVELORDEM DE SERVIÇOPROCESSO COMERCIAL
NYCOMED(11)3217-6322plantao@domain-test.comNAME LASTNAME668029820.1.19.2016/5935
  \r\n
\r\n

Atenciosamente , 

\r\n

NAME LASTNAME

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
user@domain-test.com \r\n

Atendimento Posto Virtual Enterprise
Enterprise JTB
telefone +1132179042
direto +1132179042
celular +55 
emergencial +55 11 3217-6322

 \"\" 
 
\r\n

 

\r\n
 
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
Animações GRATUITAS para seu e-mail \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Clique aqui!
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
"); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyText.Text)); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + message.BodyText.Text.ShouldEqual("BOA TARDE!\r\r\n\r\r\nRESERVA EFETUADA COM SUCESSO. \r\r\n \r\r\n \r\r\n \r\r\n \r\r\n      \r\r\n\r\r\n-------Mensagem original-------\r\r\n \r\r\nDe: user@domain-test.com\r\r\nData: 01/06/2016 17:08:59\r\r\nPara: client@clientdomain.com.br\r\r\nPara: client@clientdomain.com.br\r\r\nAssunto: Solicitação de reserva\r\r\n \r\r\nBoa tarde,\r\r\n\r\r\nFavor reservar conforme abaixo.\r\r\n enterpriseSolicitação de Reserva \r\r\n\r\r\nDADOS DE GARANTIA\r\r\nTIPO / AGENCIATITULARBANDEIRANÚMEROEXPIRAÇÃOCÓD. SEG.\r\r\nNome: ENTERPRISE XPTO \r\r\n\r\r\nINFORMAÇÕES ADICIONAIS\r\r\nAGÊNCIATELEFONEEMAILRESPONSÁVELORDEM DE SERVIÇOPROCESSO COMERCIAL\r\r\nNYCOMED(11)3217-6322plantao@domain-test.comNAME LASTNAME668029820.1.19\r\n2016/5935\r\r\n\r\r\n \r\r\nAtenciosamente , \r\r\nNAME LASTNAME\r\r\nuser@domain-test.com \r\r\nAtendimento Posto Virtual Enterprise\r\r\nEnterprise XPTO\r\r\ntelefone +1132170000\r\r\ndireto +1132170000\r\r\ncelular +55 \r\r\nemergencial +55 11 3217-0000 \r\r\n\r\r\n \r\r\n\r\r\n\r\r\n \r\r\n "); + message.BodyHtml.Text.ShouldEqual("\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
BOA TARDE!
\r\n
 
\r\n
RESERVA EFETUADA COM SUCESSO. 
\r\n
 
\r\n
 
\r\n
\r\n
 
\r\n
 
\r\n
\r\n
      \r\n
\r\n
-------Mensagem original-------
\r\n
 
\r\n
\r\n\r\n
Data: 01/06/2016 17:08:59
\r\n\r\n
Assunto: Solicitação de reserva
\r\n
 
Boa tarde,

Favor reservar conforme abaixo.
  \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

ENTERPRISE

Solicitação de Reserva 
DADOS DA RESERVA
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
TIPONOMEDATA DA RESERVA
AdultoCUSTOMER NAME01/06/2016
HOTEL
\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
CLIENT HOTEL
Address number 0, Iguatu, Brasil
Telefone: 88-8888-8888 / Fax: 88-8888-8888
 
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
CHECK INCHECK OUTTIPO DE TARIFANº DE HÓSPEDES
13/06/201614/06/2016Tarifa Cliente1
 
Nº DE NOITESDIÁRIA MÉDIATAXA DE SERVIÇOISSTAXA DE TURISMOTOTAL ESTIMADO
1R$ 150,80--R$ 0,00R$ 150,80
INFORMAÇÕES DE PAGAMENTO
\r\n\r\n\r\n\r\n\r\n\r\n
FORMA DE PAGAMENTO
Pagamento Direto
DADOS DE GARANTIA
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
TIPO / AGENCIATITULARBANDEIRANÚMEROEXPIRAÇÃOCÓD. SEG.
Nome: ENTERPRISE JTB     
INFORMAÇÕES ADICIONAIS
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
AGÊNCIATELEFONEEMAILRESPONSÁVELORDEM DE SERVIÇOPROCESSO COMERCIAL
NYCOMED(11)3217-6322plantao@domain-test.comNAME LASTNAME668029820.1.19.2016/5935
  \r\n
\r\n

Atenciosamente , 

\r\n

NAME LASTNAME

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
user@domain-test.com \r\n

Atendimento Posto Virtual Enterprise
Enterprise JTB
telefone +6666999942
direto +1166669999
celular +55 
emergencial +11 6666-9999

 \"\" 
 
\r\n

 

\r\n
 
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
Animações GRATUITAS para seu e-mail \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
Clique aqui!
\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
"); message.Attachments.Count.ShouldEqual(0); message.EmbeddedObjects.Count.ShouldEqual(0); message.To.Count.ShouldEqual(1); } + [Test(Description = "Process text only email received by iphone.")] + public void should_parse_iphone_email() + { + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\received-by-iphone-textonly.eml"); + message.Subject.ShouldEqual("Subject sent from iphone in test mail."); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyText.Text)); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + message.BodyText.Text.ShouldEqual("Good afternoon Client,\r\nI need you to take care of this request, which has many details.\r\nSee the total value of the items and call them at the registration numbers.\r\nBe brief, try by email yourself, just tell the total and date of delivery.\r\n\r\nThank you!\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nEnviado via IPhone "); + message.Attachments.Count.ShouldEqual(0); + message.EmbeddedObjects.Count.ShouldEqual(4); + message.To.Count.ShouldEqual(1); + } } public static class ExtendString diff --git a/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs b/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs index 4c0598f..bea6d91 100644 --- a/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs +++ b/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs @@ -2,12 +2,15 @@ using System.IO; using ActiveUp.Net.Mail; using NUnit.Framework; +using System.Reflection; namespace ActiveUp.Net.Tests.Common { [TestFixture] public class ParserTests { + private static string _baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + [Test] public void should_parse_simple_date() { @@ -104,13 +107,21 @@ public void should_parse_address_with_no_closing_quote_after_display_name() address.Name.ShouldEqual("Display Name only one quote"); } + [Test] + public void should_parse_address_with_invalid_empty_quote() + { + var address = Parser.ParseAddress("\"\" Invoice@dymak.nl\""); + address.Email.ShouldEqual("Invoice@dymak.nl"); + address.Name.ShouldEqual(""); + } + /// /// [discussion:641270] - Created discussion to validate if this test is rigth. /// [Test] public void should_append_text_parts_with_inline_disposition() { - var message = Parser.ParseMessageFromFile("resource\\text_multipart_email.eml"); + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\text_multipart_email.eml"); message.BodyText.Text.ShouldEqual("Good morning,\r\nThis is the body of the message.\r\n\r\nThis is the attached disclamer\r\n"); } @@ -121,27 +132,32 @@ public void should_append_text_parts_with_inline_disposition() [Test] public void should_append_html_parts_with_inline_disposition() { - var message = Parser.ParseMessageFromFile("resource\\html_multipart_email.eml"); + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\html_multipart_email.eml"); message.BodyHtml.Text.ShouldEqual("Good morning,\r\nThis is the body of the message.\r\n\r\nThis is the attached disclamer\r\n"); } [Test] - public void should_decode_content_name() + public void should_decode_japanese_content() { - var message = Parser.ParseMessage(File.ReadAllText("resource\\japanese_email.eml")); - + var message = Parser.ParseMessage(File.ReadAllText(_baseDir + "\\resource\\japanese_email.eml")); + var subject = "Fwd: 大阪瓦斯 (9532) : シェール生産動向、気温が当面の焦点"; + Assert.AreEqual(subject, message.Subject); + var textBody = "J.P. Morgan Markets Research Email Alerts\r\nhttps://jpmm.com/\r\n\r\nDear Anna-Maria Nilsson,\r\n\r\nJ.P. Morgan Research has published the following on J.P. MorganMarkets.\r\nPlease click on the indicated URL to access your document.\r\n\r\nHeadline: 大阪瓦斯 (9532) : シェール生産動向、気温が当面の焦点\r\n\r\nAuthor(s):\r\nYuji Nishiyama\r\nhttps://jpmm.com/research/analyst/V577405\r\n\r\n\r\nAbstract: 決算の印象は芳しくなかった:\r\n第2四半期決算を受けて、業績予想を見直した。目標株価を500円から490円に引き下げるが、投資判断「Overweight」を継続する。決算および決算説明会の印象が芳しくなかったことに加え、同業他社による不定期な値下げ実施、ガス制度改革等、当面は向かい風が強く、株価は動意薄とならざるを得ないと考える。ただ、中長期的には海外投資による利益成長と、それに伴う株主還元拡充が期待でき、魅力的な投資対象であるとの見解は維持する。\r\nシェールの生産不調:\r\n決算の印象を悪化させた第1の要因は、米国のピアソール・シェールにおける生産不調に起因する海外エネルギーの通期下方修正。埋蔵量は当初想定通りとのことであり、将来の可能性が減じたわけではないが、短期的には生産が軌道に乗る見通しがまだ立っていない模様であるため、懸念材料として意識されるだろう。\r\nのれん代過多の買収: 第2の要因はJacobi\r\nCarbonsののれん代で、決算説明会では2.5億ドルであることが明らかにされた。買収予定金額は3.9億ドルであり、PBRにして2.8倍となる。営業利益対比で見ると、買収金額はその13倍と、類似取引事例などから鑑みて必ずしも割高ではないが、のれん代の規模は当社が想定していたよりも大きく、市場の評価は得にくいだろう。\r\n今週に入り、気温は急速に低下:\r\n第3四半期決算に向けての焦点は、冬場の気温とピアソール・シェールの生産動向となろう。10月の平均気温は平年を1.8度上回り、11月上旬でも0.3度上回っている。ただ、今週に入って気温が急速に低下し、11月11日の平均気温は12.4度と平年を2度も下回っており、低気温が持続すればガス事業の上振れが期待できる。\r\n\r\nLink: https://jpmm.com/research/content/GPS-1258467-0\r\n\r\n\r\nDate: Wed Nov 13 01:15:14 EST 2013\r\n\r\n------------------------------------------------------------------------------------\r\n\r\nVisit J.P. Morgan Markets at https://jpmm.com/research/disclosures\r\n\r\nIf you wish to change your J.P. Morgan Email Alert preferences or\r\nunsubscribe, visit:\r\nhttps://jpmm.com/research/page/cfp_my_alerts\r\n------------------------------------------------------------------------------------\r\n\r\nCopyright @ 1999, 2013 JPMorgan Chase & Co. All Rights Reserved.\r\n\r\nThis email alert is sent only to authorized J.P. Morgan clients and is for\r\ninformational purposes only. This email alert may contain hyperlinks and/or\r\nattachments to J.P. Morgan research that you requested. Additional\r\ninformation available upon request.\r\n\r\nThis email alert may not be forwarded or distributed to any other person\r\nand may not be reproduced in any manner whatsoever. It is not intended as\r\nan offer or solicitation for the purchase or sale of any financial\r\ninstrument or as an official confirmation of any transaction. Access to the\r\nresearch described herein is made available only to authorized J.P. Morgan\r\nclients with a valid ID and password to the J.P Morgan Markets website. The\r\nresearch referred to in this email alert is made available globally by J.P.\r\nMorgan Securities LLC, J.P. Morgan Futures Inc., J.P. Morgan Securities\r\nplc, J.P. Morgan plc, J.P. Morgan Europe Limited or their affiliates as\r\ndesignated via the J.P. Morgan Markets website. All market prices, data and\r\nother information are not warranted as to completeness or accuracy and are\r\nsubject to change without notice. Any comments or statements made herein do\r\nnot necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and\r\naffiliates.\r\n\r\nJ.P. Morgan's Full Disclaimer: https://jpmm.com/research/disclosures\r\n\n-- \n----------------------------------------------------------------------------------------------------\n*ABC arbitrage, partenaire officiel du skipper Jean-Pierre Dick // ABC \narbitrage, official partner of skipper Jean-Pierre Dick // www.jpdick.com \n*\nPlease consider your environmental responsibility before printing this email\n*********************************************************************************\nCe message peut contenir des informations confidentielles. Les idees et \nopinions presentees dans ce message sont celles de son auteur, et ne \nrepresentent pas necessairement celles du groupe ABC arbitrage.\nAu cas ou il ne vous serait pas destine,merci d'en aviser l'expediteur \nimmediatement et de le supprimer.\n\nThis message may contain confidential information. Any views or opinions \npresented are solely those of its author and do not necessarily represent \nthose of ABC arbitrage. \nIf you are not the intended recipient, please notify the sender immediately \nand delete it.\n*********************************************************************************\n\n"; + Assert.AreEqual(textBody, message.BodyText.Text); + var htmlBody = "



\r\nJ.P. Morgan Markets Research Email Alerts
\r\nhttps://jpmm.com/
\r\n
\r\nDear Anna-Maria Nilsson,
\r\n
\r\nJ.P. Morgan Research has published the following on J.P. MorganMarkets.   Please click on the indicated URL to access your document.
\r\n
\r\nHeadline:  大阪瓦斯 (9532)  : シェール生産動向、気温が当面の焦点
\r\n
\r\nAuthor(s):
\r\nYuji Nishiyama
\r\nhttps://jpmm.com/research/analyst/V577405
\r\n
\r\n
\r\nAbstract:  決算の印象は芳しくなかった: 第2四半期決算を受けて、業績予想を見直した。目標株価を500円から490円に引き下げるが、投資判断「Overweight」を継続する。決算および決算説明会の印象が芳しくなかったことに加え、同業他社による不定期な値下げ実施、ガス制度改革等、当面は向かい風が強く、株価は動意薄とならざるを得ないと考える。ただ、中長期的には海外投資による利益成長と、それに伴う株主還元拡充が期待でき、魅力的な投資対象であるとの見解は維持する。 シェールの生産不調: 決算の印象を悪化させた第1の要因は、米国のピアソール・シェールにおける生産不調に起因する海外エネルギーの通期下方修正。埋蔵量は当初想定通りとのことであり、将来の可能性が減じたわけではないが、短期的には生産が軌道に乗る見通しがまだ立っていない模様であるため、懸念材料として意識されるだろう。 のれん代過多の買収: 第2の要因はJacobi Carbonsののれん代で、決算説明会では2.5億ドルであることが明らかにされた。買収予定金額は3.9億ドルであり、PBRにして2.8倍となる。営業利益対比で見ると、買収金額はその13倍と、類似取引事例などから鑑みて必ずしも割高ではないが、のれん代の規模は当社が想定していたよりも大きく、市場の評価は得にくいだろう。 今週に入り、気温は急速に低下: 第3四半期決算に向けての焦点は、冬場の気温とピアソール・シェールの生産動向となろう。10月の平均気温は平年を1.8度上回り、11月上旬でも0.3度上回っている。ただ、今週に入って気温が急速に低下し、11月11日の平均気温は12.4度と平年を2度も下回っており、低気温が持続すればガス事業の上振れが期待できる。
\r\n\r\n\r\n
\r\nLink:  https://jpmm.com/research/content/GPS-1258467-0
\r\n
\r\n
\r\nDate:  Wed Nov 13 01:15:14 EST 2013
\r\n
\r\n------------------------------------------------------------------------------------
\r\n
\r\nVisit J.P. Morgan Markets at https://jpmm.com/research/disclosures
\r\n
\r\nIf you wish to change your J.P. Morgan Email Alert preferences or unsubscribe, visit:
\r\nhttps://jpmm.com/research/page/cfp_my_alerts
\r\n------------------------------------------------------------------------------------
\r\n
\r\nCopyright @ 1999, 2013 JPMorgan Chase & Co. All Rights Reserved.
\r\n
\r\nThis email alert is sent only to authorized J.P. Morgan clients and is for informational purposes only. This email alert may contain hyperlinks and/or attachments to J.P. Morgan research that you requested. Additional information available upon request.
\r\n\r\n\r\n
\r\nThis email alert may not be forwarded or distributed to any other person and may not be reproduced in any manner whatsoever. It is not intended as an offer or solicitation for the purchase or sale of any financial instrument or as an official confirmation of any transaction. Access to the research described herein is made available only to authorized J.P. Morgan clients with a valid ID and password to the J.P Morgan Markets website. The research referred to in this email alert is made available globally by J.P. Morgan Securities LLC, J.P. Morgan Futures Inc., J.P. Morgan Securities plc, J.P. Morgan plc, J.P. Morgan Europe Limited or their affiliates as designated via the J.P. Morgan Markets website. All market prices, data and other information are not warranted as to completeness or accuracy and are subject to change without notice. Any comments or statements made herein do not necessarily reflect those of JPMorgan Chase & Co., its subsidiaries and affiliates.
\r\n\r\n\r\n
\r\nJ.P. Morgan's Full Disclaimer:  https://jpmm.com/research/disclosures
\r\n

\r\n\n
\n
----------------------------------------------------------------------------------------------------
ABC arbitrage, partenaire officiel du skipper Jean-Pierre Dick // ABC arbitrage, official partner of skipper Jean-Pierre Dick // www.jpdick.com
Please consider your environmental responsibility before printing this email
*********************************************************************************
Ce message peut contenir des informations confidentielles. Les idees et opinions presentees dans ce message sont celles de son auteur, et ne representent pas necessairement celles du groupe ABC arbitrage.
Au cas ou il ne vous serait pas destine,merci d'en aviser l'expediteur immediatement et de le supprimer.

This message may contain confidential information. Any views or opinions presented are solely those of its author and do not necessarily represent those of ABC arbitrage. 
If you are not the intended recipient, please notify the sender immediately and delete it.
*********************************************************************************

"; + Assert.AreEqual(htmlBody, message.BodyHtml.Text); message.Attachments[0].ContentName.ShouldEqual("大阪瓦斯9532.pdf"); } - + /// /// https://tools.ietf.org/html/rfc2387 /// [Test(Description = "LineBreak \r or \n only fail.")] public void should_recognize_line_break_of_notepad_text_in_body() { - var message = Parser.ParseMessageFromFile("resource\\quoted-printable-notepad-linebreak.eml"); - message.BodyText.Text.ShouldEqual("Alatur,\r\rFoi criada uma nova solicitação para TESTE SOLICITANTE.\r\rCliente: TESTE HOTEL\rEmpresa: TESTE\rC. Custo: TESTE TESTE\r\r\r>>> PASSAGEM AÉREA\rDescrição.: (GRU) Cumbica / (LAS) Las Vegas 04/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\rDescrição.: (LAS) Las Vegas / (GRU) Cumbica 07/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\r\r>>> SOLICITANTE\rteste solicitante (fulfillment@alatur.com)\r\r\rDestinatários que estão recebendo esse email: \rtms@argoit.com.br (tms@argoit.com.br)\rteste solicitante (fulfillment@alatur.com)\rtesteodare@encontact.com.br (testeodare@encontact.com.br)\rodare@encontact.com.br (odare@encontact.com.br)\r\rPara acessá-la clique em: \r \r\rEMAIL AUTOMÁTICO, NÃO RESPONDA ESSA MENSAGEM\r\n"); + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\quoted-printable-notepad-linebreak.eml"); + message.BodyText.Text.ShouldEqual("Sender,\r\rFoi criada uma nova solicitação para TESTE SOLICITANTE.\r\rCliente: TESTE HOTEL\rEmpresa: TESTE\rC. Custo: TESTE TESTE\r\r\r>>> PASSAGEM AÉREA\rDescrição.: (GRU) Cumbica / (LAS) Las Vegas 04/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\rDescrição.: (LAS) Las Vegas / (GRU) Cumbica 07/Jan Manhã (06:00 às 12:00) (Econômica)\rHorário...: considerando saída\rPagamento.: FATURADO\r\r\r>>> SOLICITANTE\rteste solicitante (teste-conta@sender.com)\r\r\rDestinatários que estão recebendo esse email: \rtms@server.com (tms@argoit.com.br)\rteste solicitante (teste-conta@sender.com)\rtestereceiver@enterprise.com (testreceiver@enterprise.com)\rtestreceiver@enterprise.co (testreceiver@enterprise.com)\r\rPara acessá-la clique em: \r \r\rEMAIL AUTOMÁTICO, NÃO RESPONDA ESSA MENSAGEM\r\n"); message.BodyHtml.Text.ShouldEqual(""); } @@ -151,7 +167,7 @@ public void should_recognize_line_break_of_notepad_text_in_body() [Test(Description = "Attachment without filename")] public void ParseAttachmentWitoutFilename() { - Message message = Parser.ParseMessageFromFile("resource\\attachment-witout-file-name.eml"); + Message message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\attachment-witout-file-name.eml"); message.Attachments.Count.ShouldEqual(2); for (int i = 0; i < message.Attachments.Count; i++) Assert.IsNotNull(message.Attachments[i].Filename); @@ -164,16 +180,16 @@ public void ParseAttachmentWitoutFilename() [Test(Description = "ConfirmRead, DispositionNotificationTo and ReturnReceiptTo having exception.")] public void MustParseInvalidConfirmReadReturnReceipt() { - Message message = Parser.ParseMessageFromFile("resource\\confirm_read_parse_problem.eml"); + Message message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\confirm_read_parse_problem.eml"); Assert.IsNull(message.ConfirmRead); Assert.IsNull(message.ReturnReceipt); Assert.AreEqual(0, message.Recipients.Count); } - + [Test(Description = "")] public void MustParseEmlWithWrongImageAsPartOfEmailBody() { - var message = Parser.ParseMessageFromFile("resource\\image-as-body-part.eml"); + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\image-as-body-part.eml"); Assert.AreEqual("CAM3z=h1WB0qSZPU+PWL5VqxsL1k1gmh0pmJivD1G+LjNC5jTLA@mail.serverhost.com", message.MessageId); Assert.AreEqual("Boa tarde roger,\r\n\r\nAgradeço a atenção e atendimento. Pode fechar o pedido com 2 cápsulas no\r\nvalor passado de $123.312.313,04.\r\n\r\nMoro em Abracox, eu busco pessoalmente ou recebo no meu endereço? E qual o\r\nprazo de entrega e formas de pagamento?\r\n\r\nObrigado,\r\nJosé roger\r\n\r\n\r\nEm 23 de julho de 2016 09:00, roger Munes <\r\nroger@destinataryhost.com> escreveu:\r\n\r\n> Com 2 cáp deu $123.312.313,04 fico no seu aguardo para finalizar o pedido..\r\n>\r\n>\r\n> Atenciosamente, roger Mussa\r\n> [image: Customer Supplier]*roger de Souza Nunes* /\r\n> Atendimento\r\n> roger@destinataryhost.com <%7bEmail%7d>\r\n>\r\n>\r\n> *Customer supplier*\r\n> 0800 116 7284 - (99) 9376-8104\r\n> http://www.destinataryhost.com\r\n>\r\n>\r\n>\r\n> [image: Twitter] [image:\r\n> Facebook] [image: Instagram]\r\n> \r\n> Antes de imprimir este e-mail veja se é necessário e pense em sua\r\n> responsabilidade com o *Meio Ambiente*.\r\n>\r\n>\r\n>\r\n> *De:* rogerneto@serverhost.com\r\n> *Enviada em:* 22/07/2016 19:13:51\r\n> *Para:* roger Munes\r\n> *Assunto:* Re: Re: Contact\r\n> Olá roger, esse valor é com 90 cápsulas, correto? Veja por gentileza com\r\n> 2 aproveito para comprar logo mais.\r\n>\r\n> Obrigado pela atenção.\r\n>\r\n> José roger\r\n>\r\n> Em 22 de julho de 2016 16:05, roger Munes <\r\n> roger@destinataryhost.com> escreveu:\r\n>\r\n> Boa tarde tudo bem ? orçamento 345788 consegui por $ 2.222,00\r\n> fico no seu aguardo.\r\n>\r\n>\r\n> Atenciosamente, roger Mussa\r\n> [image: Customer Supplier]*roger Munes* /\r\n> Atendimento\r\n> roger@destinataryhost.com <%7bEmail%7d>\r\n>\r\n>\r\n> *Customer supplier*\r\n> 0800 116 7284 - (99) 9376-8104\r\n> http://www.destinataryhost.com\r\n>\r\n>\r\n>\r\n> [image: Twitter] [image:\r\n> Facebook] [image: Instagram]\r\n> \r\n> Antes de imprimir este e-mail veja se é necessário e pense em sua\r\n> responsabilidade com o *Meio Ambiente*.\r\n>\r\n>\r\n>\r\n> *De:* rogerneto@serverhost.com\r\n> *Enviada em:* 22/07/2016 14:55:08\r\n> *Para:* roger Munes\r\n> *Assunto:* Re: Contact\r\n> Boa tarde roger,\r\n>\r\n> Agradeço o contato. Ainda não comprei porém tenho o orçamento abaixo que\r\n> infelizmente está abaixo da Miligrama. Caso consiga cobrir, prefiro comprar\r\n> com vocês por já ser cliente e ter outras compras com sucesso no histórico.\r\n>\r\n>\r\n> Obrigado,\r\n> José roger\r\n>\r\n>\r\n>\r\n> Em 22 de julho de 2016 14:49, roger Munes <\r\n> roger@destinataryhost.com> escreveu:\r\n>\r\n> Boa tarde amigo, como vai ?\r\n>\r\n> Chegou a finalizar o pedido, comprou em outro lugar ? que achou do meu\r\n> orçamento vamos negociar cubro a oferta de qualquer concorrente.\r\n>\r\n>\r\n> Atenciosamente, roger Mussa\r\n> [image: Customer Supplier]*roger de Souza Nunes* /\r\n> Atendimento\r\n> roger@destinataryhost.com <%7bEmail%7d>\r\n>\r\n>\r\n> *Customer supplier*\r\n> 0800 116 7284 - (99) 9376-8104\r\n> http://www.destinataryhost.com\r\n>\r\n>\r\n>\r\n> [image: Twitter] [image:\r\n> Facebook] [image: Instagram]\r\n> \r\n> Antes de imprimir este e-mail veja se é necessário e pense em sua\r\n> responsabilidade com o *Meio Ambiente*.\r\n>\r\n>\r\n>\r\n>\r\n".Replace("\r\n", ""), message.BodyText.Text.Replace("\r\n", "")); Assert.AreEqual("
Boa tarde roger,

Agradeço a atenção e atendimento. Pode fechar o pedido com 2 cápsulas no valor passado de $ 2.222,00.

Moro em Cubivila, eu busco pessoalmente ou recebo no meu endereço? E qual o prazo de entrega e formas de pagamento?

Obrigado,
José roger


Em 23 de julho de 2016 09:00, roger Munes <roger@custsupplier.com..br escreveu:
Com 2 cáp deu $ 2.222,00 fico no seu aguardo para finalizar o pedido.    \r\n
\r\n


\r\nAtenciosamente, roger Mussa
\r\n \"Customerroger de Souza Nunes / Atendimento
\r\n
roger@destinataryhost.com
\r\n
\r\n
\r\nCustomer supplier 
\r\n0800 116 7284 - \"\" (99) 9376-8104
\r\nhttp://www.destinataryhost.com  
\r\n
\r\n
\r\n
\r\n\"Twitter\"  \"Facebook\"  \"Instagram\"
\r\nAntes de imprimir este e-mail veja se é necessário e pense em sua responsabilidade com o Meio Ambiente.

\r\n\r\n

\"\"

\r\n\r\n

 

\r\n
\r\n \r\n\r\n
De: rogerneto@serverhost.com
\r\nEnviada em: 22/07/2016 19:13:51
\r\nPara: roger Munes
\r\n
Assunto: Re: Re: Contact
\r\n\r\n
Olá roger, esse valor é com 90 cápsulas, correto? Veja por gentileza com 2 aproveito para comprar logo mais.\r\n
 
\r\n\r\n
Obrigado pela atenção.
\r\n\r\n
 
\r\n\r\n
José roger
\r\n
\r\n\r\n
 \r\n
Em 22 de julho de 2016 16:05, roger Munes <roger@destinataryhost.com> escreveu:\r\n\r\n
\r\n
Boa tarde tudo bem ? orçamento 345788 consegui por $ 2.222,00
\r\nfico no seu aguardo.\r\n
\r\n


\r\nAtenciosamente, roger Mussa
\r\n \"Customerroger de Souza Nunes / Atendimento
\r\nroger@destinataryhost.com
\r\n
\r\n
\r\nCustomer supplier 
\r\n0800 116 7284 - \"\" (99) 9376-8104
\r\nhttp://www.fmiligrama.com.br  
\r\n
\r\n
\r\n
\r\n\"Twitter\"  \"Facebook\"  \"Instagram\"
\r\nAntes de imprimir este e-mail veja se é necessário e pense em sua responsabilidade com o Meio Ambiente.

\r\n\r\n

\"\"

\r\n\r\n

 

\r\n
\r\n \r\n\r\n
De: rogerneto@serverhost.com
\r\nEnviada em: 22/07/2016 14:55:08
\r\nPara: roger Munes
\r\nAssunto: Re: Contact
\r\n\r\n
\r\n
\r\n
Boa tarde roger,\r\n
 
\r\n\r\n
Agradeço o contato. Ainda não comprei porém tenho o orçamento abaixo que infelizmente está abaixo da Miligrama. Caso consiga cobrir, prefiro comprar com vocês por já ser cliente e ter outras compras com sucesso no histórico.
\r\n\r\n
 
\r\n\r\n
 
\r\n\r\n
Obrigado,
\r\n\r\n
José roger
\r\n\r\n
 
\r\n\r\n
 
\r\n\r\n
 
\r\n\r\n
\r\n
Em 22 de julho de 2016 14:49, roger Munes <roger@destinataryhost.com> escreveu:\r\n\r\n
\r\n
Boa tarde amigo, como vai ?
\r\n
\r\nChegou a finalizar o pedido, comprou em outro lugar ? que achou do meu orçamento vamos negociar cubro a oferta de qualquer concorrente.\r\n
\r\n


\r\nAtenciosamente, roger Mussa
\r\n \"Customerroger de Souza Nunes / Atendimento
\r\nroger@destinataryhost.com
\r\n
\r\n
\r\nCustomer supplier 
\r\n0800 116 7284 - \"\" (99) 9376-8104
\r\nhttp://www.fmiligrama.com.br  
\r\n
\r\n
\r\n
\r\n\"Twitter\"  \"Facebook\"  \"Instagram\"
\r\nAntes de imprimir este e-mail veja se é necessário e pense em sua responsabilidade com o Meio Ambiente.

\r\n\r\n

\"\"

\r\n\r\n

 

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n".Replace("\r\n", ""), message.BodyHtml.Text.Replace("\r\n", "")); @@ -193,5 +209,81 @@ public void MustParseEmlWithWrongImageAsPartOfEmailBody() // File.WriteAllBytes(fileNameDecoded, Convert.FromBase64String(item.TextContentTransferEncoded)); //} } + + [Test(Description = "")] + public void MustParseEmlWithoutContentTypeSubtypeWithLostTextBody() + { + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\text_without_contenttype_subtype.eml"); + Assert.AreEqual("hash@sender.production.server.com", message.MessageId); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyText.Text)); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + Assert.AreEqual("plain", message.ContentType.SubType); + Assert.AreEqual("text", message.ContentType.Type); + Assert.AreEqual("text", message.ContentType.MimeType); + } + + [Test(Description = "")] + public void MustParseEmlWithContentTransferEncode8Bit() + { + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\content-transfer-encode-8bit.eml"); + Assert.AreEqual("58caaa74.6625ed0a.22a2d.5376@mx.google.com", message.MessageId); + Assert.AreEqual("Special char test çãõáéíóú", message.Subject); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyText.Text)); + Assert.AreEqual("Body special char test çãõáéíóú", message.BodyText.Text); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + } + + [Test(Description = "")] + public void MustParseEmlWithContentTransferEncode8BitUtf8FlowedHistory() + { + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\content-transfer-encode-8bit-utf8-flowed.eml"); + Assert.AreEqual("bd502b4d-c631-9ff4-791f-fc01c9efc0e5@EmpresaX.com.br", message.MessageId); + Assert.AreEqual("Re: BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino XYZ x XYZ Nfs 666666 / 777777 Fornecedor Xamego INDUSTRIA", message.Subject); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyText.Text)); + var result = message.BodyText.Text; + var expected = "Boa tarde,\r\n\r\n*Fulano*, conforme o conversado em nosso teste, os dados do erro ja \r\nforam coletados, estamos trabalhando com a máxima urgência afim de \r\nefetuarmos a identificação.\r\n\r\n_Em contato com o cliente estou tentando reproduzir o problema\r\nnesta mensagem._\r\n\r\n_*Ciclano*( Empresa B ), por gentileza, conforme ja conversado, peço, \r\npriorizar acompanhar a estrutura errada deste e-mail._\r\n\r\n\r\nCerta da atenção, agradeço\r\n\r\n\r\n*Reinaldo Coelho *\r\nNosso Grupo\r\n\r\n*\r\nEm 12/04/2017 09:10, Fulano escreveu:\r\n>\r\n> Ok, Agradeço a atenção Ciclano.\r\n>\r\n> *Reinaldo Coelho *\r\n> *Meu cargo atual*\r\n> EmpresaX\r\n> *Fone:(11) 2222-4444 / Ramal: 123 **\r\n> *Email:mary.anne@EmpresaX.com.br \r\n> *\r\n> *Acesse nosso site:www.EmpresaX.com.br *\r\n> Nosso Grupo\r\n>\r\n> *\r\n> Em 12/04/2017 09:01, Florencia Ramos Conceição escreveu:\r\n>>\r\n>>\r\n>>\r\n>> Sim volumes pertencido a XYZ já desembarcarão e segue hoje para \r\n>> araguaina-to\r\n>>\r\n>> Duvidas a disposição.\r\n>>\r\n>>\r\n>> -- \r\n>> *Florencia Ramos Conceição*\r\n>> * Pendencia Fiscal*\r\n>>\r\n>> *Fone:(12)1111-6333*\r\n>> *Email:xyz.pendencias1@EmpresaX.com.br*\r\n>> *Acesse nosso site:www.EmpresaX.com.br *\r\n>>\r\n>> *----- Original Message ----*\r\n>> *From:* mary.anne@EmpresaX.com.br\r\n>> *To:* \"Florencia Ramos Conceição\" (xyz.pendencias1@EmpresaX.com.br)\r\n>> *Cc:* \"Carlão Steave\" (vendasnonorte@prego.com.br)\r\n>> *Date:* Tue, 11 Apr 2017 15:11:37 -0300\r\n>> *Subject:* Re: BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino \r\n>>\r\n>> Boa tarde,\r\n>>\r\n>> tentei contato telefônico, porem não foi possível; o cliente que\r\n>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\r\n>> yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy\r\n>> informar se o volume do mesmo ja consta em XYZ???\r\n>>\r\n>> Fico no aguardo para informarmos ao cliente.\r\n>>\r\n>> Agradeço\r\n>>\r\n>> att,\r\n>>\r\n>> *Reinaldo Coelho *\r\n>> *Meu cargo atual*\r\n>>\r\n>> *Fone:(11) 2222-4444 / Ramal: 123 **\r\n>> *Email:mary.anne@EmpresaX.com.br\r\n>> *\r\n>> *Acesse nosso site:www.EmpresaX.com.br\r\n>> *\r\n>>\r\n>>\r\n>> *\r\n>> Em 05/04/2017 17:03, Florencia Ramos Conceição escreveu:\r\n>>\r\n>>\r\n>> Esta seguindo os dois\r\n>>\r\n>>\r\n>> -- \r\n>> *Florencia Ramos Conceição*\r\n>> * Pendencia Fiscal*\r\n>>\r\n>> *Fone:(12)1111-6333*\r\n>> *Email:xyz.pendencias1@EmpresaX.com.br*\r\n>> *Acesse nosso site:www.EmpresaX.com.br\r\n>> *\r\n>>\r\n>> *----- Original Message ----*\r\n>> *From:* XYZ.pendencia04@EmpresaX.com.br\r\n>> *To:* \"Florencia Ramos Conceição\"\r\n>> (xyz.pendencias1@EmpresaX.com.br), \"Fulano\"\r\n>> (mary.anne@EmpresaX.com.br)\r\n>> *Date:* Wed, 5 Apr 2017 16:58:34 -0300\r\n>> *Subject:* Re: BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino \r\n>>\r\n>> Ok, lembrando que trata-se de dois volume de XYZ.\r\n>>\r\n>> Obrigada.\r\n>>\r\n>>\r\n>>\r\n>>\r\n>>\r\n>> Em 5/4/2017 16:53, Florencia Ramos Conceição escreveu:\r\n>>\r\n>> Volume pertencido a filial XYZ esta seguindo\r\n>> atraves de RRI-0031800000\r\n>>\r\n>>\r\n>> -- \r\n>> *Florencia Ramos Conceição*\r\n>> * Pendencia Fiscal*\r\n>>\r\n>> *Fone:(12)1111-6333*\r\n>> *Email:xyz.pendencias1@EmpresaX.com.br*\r\n>> *Acesse nosso site:www.EmpresaX.com.br\r\n>> *\r\n>>\r\n>> *----- Original Message ----*\r\n>> *From:* XYZ.pendencia04@EmpresaX.com.br\r\n>> *To:* \"Fulano\" (mary.anne@EmpresaX.com.br),\r\n>> \"Florencia Ramos Conceição\"\r\n>> (xyz.pendencias1@EmpresaX.com.br)\r\n>> *Date:* Wed, 5 Apr 2017 09:15:54 -0300\r\n>> *Subject:* BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino \r\n>>\r\n>> Bom dia !\r\n>>\r\n>> Fulano,\r\n>>\r\n>>\r\n>> Essa destroca esta difícil de ser resolvida, pois\r\n>> os volumes que se encontravam em XYZ , foi\r\n>> enviado , e até o momento não foi nos enviado os\r\n>> nossos corretos . O cliente XYZ nos cobra\r\n>> posicionamento , e se que tenho retorno da filial\r\n>> XYZ.\r\n>>\r\n>> Favor resolver esse caso , o quanto antes.\r\n>>\r\n>>\r\n>>\r\n>> Em 5/4/2017 08:48, Fulano escreveu:\r\n>>\r\n>> Bom dial,\r\n>>\r\n>> Pessoal informaçoes referente a\r\n>> destroca??...pXYZiso de um retorno*URGENTE,\r\n>> *pois o fornecedor( nossoMONITORADO) tem nos\r\n>> cobra regularmente este posicionamento.\r\n>>\r\n>> Fico no aguardo, para que possamos\r\n>> comunica-lo o mais breve possival\r\n>>\r\n>> att,\r\n>>\r\n>> *Reinaldo Coelho *\r\n>> *Meu cargo atual*\r\n>>\r\n>> *Fone:(11) 2222-4444 / Ramal: 123 **\r\n>> *Email:mary.anne@EmpresaX.com.br*\r\n>> *Acesse nosso site:www.EmpresaX.com.br*\r\n>>\r\n>>\r\n>> *\r\n>> Em 03/04/2017 09:48, Fulano escreveu:\r\n>>\r\n>> Bom dia,\r\n>>\r\n>> Ciclano assim que possível posicionar,\r\n>> peço também que verifique a XYZusa do\r\n>> cliente sobre 3 volumes, pois o erro era\r\n>> apenas em 2 volumes, sendo estes para a\r\n>> filial de XYZ...\r\n>>\r\n>> *Reinaldo Coelho *\r\n>> *Meu cargo atual*\r\n>>\r\n>> *Fone:(11) 2222-4444 / Ramal: 123 **\r\n>> *Email:mary.anne@EmpresaX.com.br*\r\n>> *Acesse nosso site:www.EmpresaX.com.br*\r\n>>\r\n>>\r\n>> *\r\n>> Em 03/04/2017 09:44, Gabriela Xavier escreveu:\r\n>>\r\n>> Bom dia !\r\n>>\r\n>> Temos algum posicionamento ?\r\n>>\r\n>> Nosso cliente nos cobra RETORNO COM\r\n>> URGÊNCIA...\r\n>>\r\n>>\r\n>> Em 31/3/2017 09:35, Fulano escreveu:\r\n>>\r\n>> Bom dia,\r\n>>\r\n>> Ok, agradeço a atenção.\r\n>>\r\n>> *Reinaldo Coelho *\r\n>> *Meu cargo atual*\r\n>>\r\n>> *Fone:(11) 2222-4444 / Ramal: 123 **\r\n>> *Email:mary.anne@EmpresaX.com.br*\r\n>>\r\n>> *Acesse nosso\r\n>> site:www.EmpresaX.com.br*\r\n>>\r\n>>\r\n>> *\r\n>> Em 31/03/2017 09:25, Ciclano\r\n>> Ramos Conceição escreveu:\r\n>>\r\n>> Valéria Bom Dia\r\n>>\r\n>> Trata-se de rota do interior,\r\n>> no qual já foi XYZusado os 03\r\n>> volumes pelo cliente, e\r\n>> parceiro já esta retornando\r\n>> com mercadoria para\r\n>> transportadora para estarmos\r\n>> verificando, assim que tiver\r\n>> ok, informo ID de envio para\r\n>> acompanhamento,\r\n>>\r\n>> Duvidas a disposição.\r\n>>\r\n>>\r\n>> -- \r\n>> *Florencia Ramos Conceição*\r\n>> * Pendencia Fiscal*\r\n>>\r\n>> *Fone:(12)1111-6333*\r\n>> *Email:xyz.pendencias1@EmpresaX.com.br*\r\n>>\r\n>> *Acesse nosso\r\n>> site:www.EmpresaX.com.br*\r\n>> & amp; lt; /p>\r\n>>\r\n>> *----- Original Message ----*\r\n>> *From:*\r\n>> XYZ.pendencia04@EmpresaX.com.br\r\n>> *To:* \"Fulano\"\r\n>> (mary.anne@EmpresaX.com.br),\r\n>> \"Roque Neto\"\r\n>> (xyz.pendencias1@EmpresaX.com.br)\r\n>> *Date:* Fri, 31 Mar 2017\r\n>> 08:56:52 -0300\r\n>> *Subject:* BLA BLÁ BLA XYZ/ \r\n>>\t\t\t\t\t\t\t\t\t\t\tXYZ / TROCA DE PACOTES origem \r\n>>\t\t\t\t\t\t\t\t\t\t\tABC Destino \r\n>>\r\n>> Bom dia !\r\n>>\r\n>> Ciclano,\r\n>>\r\n>>\r\n>> Favor nos posicionar\r\n>> referente ao volume de\r\n>> XYZ , pois o mesmo nos\r\n>> cobra retorno COM URGÊNCIA.\r\n>>\r\n>>\r\n>>\r\n>> Em 30/3/2017 08:24, Fulano\r\n>> escreveu:\r\n>>\r\n>> Bom dia,\r\n>>\r\n>> Gabriela, agradeço o\r\n>> retorno.\r\n>>\r\n>> Ciclano, assim que\r\n>> possível nos\r\n>> posicionar frente ao\r\n>> envio do volume de XYZ.\r\n>>\r\n>> Obrigada.\r\n>>\r\n>> att,\r\n>>\r\n>> *Reinaldo Coelho *\r\n>> *Meu cargo atual*\r\n>>\r\n>> *Fone:(18) 2103-4777\r\n>> / Ramal: 725 **\r\n>> *Email:mary.anne@EmpresaX.com.br*\r\n>>\r\n>> *Acesse nosso\r\n>> site:www.EmpresaX.com.br*\r\n>>\r\n>>\r\n>> *\r\n>> Em 29/03/2017 10:35,\r\n>> Gabriela Xavier escreveu:\r\n>>\r\n>> Bom dia !\r\n>>\r\n>> Troca confirmada\r\n>> , os volumes de\r\n>> XYZ serão\r\n>> enviados hoje\r\n>> através dos RRIs\r\n>> 35468888 /\r\n>> 31755555 , devido\r\n>> a fiscalização.\r\n>>\r\n>> Gentileza\r\n>> acompanhar\r\n>> desembarque dos\r\n>> mesmos, e nos\r\n>> enviar os nossos\r\n>> com urgência...\r\n>>\r\n>>\r\n>>\r\n>>\r\n>> Bueno ,\r\n>>\r\n>> Favor associar a\r\n>> devida viagem em\r\n>> sistema do SSAAS\r\n>> abaixo , hoje.\r\n>>\r\n>>\r\n>>\r\n>>\r\n>>\r\n>>\r\n>>\r\n>>\r\n>>\r\n>> -- \r\n>>\r\n>> Em 29/3/2017\r\n>> 08:21, Fulano\r\n>> escreveu:\r\n>>\r\n>> Bom dia,\r\n>>\r\n>> Ok, por\r\n>> gentileza,\r\n>> assim que\r\n>> tiver\r\n>> informaçoes\r\n>> referente a\r\n>> este volume\r\n>> comunique por\r\n>> favor, para\r\n>> que a\r\n>> destroca seja\r\n>> efetuada o\r\n>> mais breve\r\n>> possivel.\r\n>>\r\n>> *Reinaldo Coelho *\r\n>> *Auxiliar\r\n>> Manutenção*\r\n>>\r\n>> *Fone:(18)\r\n>> 2103-4777 /\r\n>> Ramal: 725 **\r\n>> *Email:mary.anne@EmpresaX.com.br*\r\n>>\r\n>> *Acesse nosso\r\n>> site:www.EmpresaX.com.br*\r\n>>\r\n>>\r\n>> *\r\n>> Em 28/03/2017\r\n>> 17:50,\r\n>> Ciclano Ramos\r\n>> Conceição\r\n>> escreveu:\r\n>>\r\n>> ok\r\n>>\r\n>> já\r\n>> estamos\r\n>> verificando.\r\n>>\r\n>>\r\n>> -- \r\n>> *Ciclano\r\n>> Ramos\r\n>> Conceição*\r\n>> * Pendencia\r\n>> Fiscal*\r\n>>\r\n>> *Fone:(12)1111-6333*\r\n>>\r\n>> *Email:xyz.pendencias1@EmpresaX.com.br*\r\n>>\r\n>> *Acesse\r\n>> nosso\r\n>> site:www.EmpresaX.com.br*\r\n>> & amp;\r\n>> amp; lt; /p>\r\n>>\r\n>> *-----\r\n>> Original\r\n>> Message ----*\r\n>> *From:*\r\n>> mary.anne@EmpresaX.com.br\r\n>> *To:*\r\n>> \"Roque\r\n>> Neto\"\r\n>> (xyz.pendencias1@EmpresaX.com.br),\r\n>> \"Gabriela\r\n>> Xavier\"\r\n>> (XYZ.pendencia04@EmpresaX.com.br)\r\n>> *Cc:*\r\n>> \"Logística\r\n>> | Grupo\r\n>> Xamego\"\r\n>> (logistica@Xamego.com.br)\r\n>> *Date:*\r\n>> Tue, 28\r\n>> Mar 2017\r\n>> 17:36:24\r\n>> -0300\r\n>> *Subject:*\r\n>>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tBLA BLÁ BLA XYZ/ XYZ / \r\n>>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tTROCA DE PACOTES origem ABC Destino \r\n>>\r\n>> Boa\r\n>> tarde\r\n>> colegas,\r\n>>\r\n>> Os\r\n>> conhecimentos\r\n>> citados\r\n>> constam\r\n>> em\r\n>> entrega,\r\n>> porem\r\n>> houve\r\n>> troca\r\n>> de\r\n>> etiquetagem\r\n>> em\r\n>> XYZ,\r\n>> desta\r\n>> forma,\r\n>> peço\r\n>> a\r\n>> atenção\r\n>> para\r\n>> que\r\n>> possamos\r\n>> destrocar\r\n>> o\r\n>> mais\r\n>> breve\r\n>> possível\r\n>>\r\n>> XYZ\r\n>> 322433,\r\n>> CLIENTE\r\n>> ME DE\r\n>> S\r\n>> CASTRO\r\n>> (XYZ), \r\n>> trocado\r\n>> com o\r\n>> AWB\r\n>> 383555,\r\n>> CLIENTE\r\n>> XE\r\n>> MENTES(XYZ)\r\n>>\r\n>> (O\r\n>> cliente\r\n>> XE\r\n>> MENTES,\r\n>> conforme\r\n>> informaçoes,\r\n>> devolveu\r\n>> a\r\n>> mercadoria\r\n>> no\r\n>> ato\r\n>> da\r\n>> entrega)\r\n>>\r\n>> *Gabriela*\r\n>> por\r\n>> gentileza,\r\n>> verificar\r\n>> informação\r\n>> de\r\n>> devolução\r\n>> para\r\n>> que\r\n>> se\r\n>> possa\r\n>> enviar\r\n>> o\r\n>> volume\r\n>> para\r\n>> XYZ,\r\n>> por\r\n>> gentileza.\r\n>>\r\n>> *Anislei,*\r\n>> não\r\n>> temos\r\n>> informaçoes\r\n>> de\r\n>> que o\r\n>> cliente\r\n>> de\r\n>> XYZ,\r\n>> ja\r\n>> verificou\r\n>> o\r\n>> erro,\r\n>> desta\r\n>> forma,\r\n>> peço,\r\n>> entrar\r\n>> em\r\n>> contato\r\n>> com a\r\n>> tripulação\r\n>> para\r\n>> que a\r\n>> entrega\r\n>> não\r\n>> seja\r\n>> finalizada,\r\n>> e\r\n>> encaminhar\r\n>> o\r\n>> volume\r\n>> para XYZ\r\n>>\r\n>> Fico\r\n>> no\r\n>> aguardo,\r\n>> pois\r\n>> trata-se\r\n>> de um\r\n>> cliente\r\n>> monitorado\r\n>>\r\n>> *Valéria\r\n>> Coelho *\r\n>> *Auxiliar\r\n>> Manutenção*\r\n>>\r\n>>\r\n>> *Fone:(11)\r\n>> 2100-4777\r\n>> /\r\n>\r\n\r\n"; + Assert.AreEqual(expected, result); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + } + + [Test(Description = "")] + public void MustParseEmlContainingOnlyHeaders() + { + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\only_header.eml"); + Assert.AreEqual("sender@host.com.br", message.From.Email); + Assert.AreEqual("59a459219e757_52803fc2847231301918b@a4-winter6.mail", message.MessageId); + Assert.AreEqual("I'm put all my text message on subject, then no has body in this e-mail. second line exists too.", message.Subject); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyText.Text)); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + Assert.AreEqual(0, message.Attachments.Count); + } + + [Test(Description = "")] + public void MustParseEmlContainingOnlyHeaders2() + { + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\only_header_2.eml"); + Assert.AreEqual("parceiro@abidos.com.br", message.From.Email); + Assert.AreEqual("d38c1c1f-abdc-483e-b8b5-cb95c65c2eeb@CY1NAM02FT029.eop-nam02.prod.protection.outlook.com", message.MessageId); + Assert.AreEqual("Conclua sua pos em 6 meses!!!", message.Subject); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyText.Text)); + Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + Assert.AreEqual(0, message.Attachments.Count); + Assert.AreEqual(0, message.LeafMimeParts.Count); + } + + [Test(Description = "")] + public void MustParse8BitEmlWithSpecialCharInHtmlBody() + { + var message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\content-transfer-encode-8bit-html-special-char.eml"); + Assert.AreEqual("fromemail@domain.com", message.From.Email); + Assert.AreEqual("3a8c760555b716f3834fef3a2b05f160@deskserver.ms", message.MessageId); + Assert.AreEqual("CLIENT - BRASIL Status: OPEN / RESOLVED #0917-000622", message.Subject); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyText.Text)); + Assert.AreEqual("Para visualizar a mensagem, por favor, use um cliente de e-mail compatÃ\u0083­vel/configurado para ver mensagens HTML!\r\n\r\n", message.BodyText.Text); + Assert.IsFalse(string.IsNullOrWhiteSpace(message.BodyHtml.Text)); + Assert.AreEqual("\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Qualquer dúvida estou a disposição.
\r\n
\r\n Atenciosamente,
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Ronald Santander
\r\n _________________________
\r\n
\r\n CLIENT
\r\n Consultor de Viagens
\r\n Tel.: + (55 11) 2222-4444
\r\n Tel.: + (55 11) 3333-6666
\r\n
\r\n
\r\n
\r\n Outros telefones
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ATENÃ\u0087Ã\u0083O!
\r\n
\r\n
\r\n
\r\n Prezado cliente, Seguindo a nova resolução do Regulador XXXXX, homologada em Abril/2016, e que impõe a emissão de certificado de seguro viagem individuais, tanto para viagem doméstica quanto internacional, as bandeiras American Express, Mastercard e Visa estão migrando o processo de emissão do certificado do seguro viagem, benefício incluso em suas soluções corporativas de pagamentos se utilizado pela sua empresa.
\r\n
\r\n
\r\n Todos os novos procedimentos de emissão do certificado do seguro viagem foram comunicados e disponibilizados aos gestores de viagens da sua empresa. Caso não tenha conhecimento do novo procedimento, se faz necessário verificar com o gestor responsável de sua empresa, pois a emissão do certificado é de total responsabilidade do viajante e requer acesso a ferramenta de emissão a cada viagem, por meio de login, senha e dados pessoais.
\r\n
\r\n
\r\n
\r\n INFORMAÃ\u0087Ã\u0095ES IMPORTANTES
\r\n
\r\n
\r\n
\r\n A garantia da reserva, do assento e da tarifa são a emissão do bilhete;
\r\n Tarifas sujeitas a alteração sem prévio aviso.
\r\n Atenção ao prazo de emissão das reservas;
\r\n Para alterações, cancelamentos ou reembolsos há incidência de multas e/ou diferenças tarifárias conforme regra do bilhete;
\r\n Multa por Churning: Segundo a política de reservas, poderá haver cobrança de multa em caso de solicitação/realização de sucessivas operações para o mesmo passageiro/ cia aérea/trecho. Esta cobrança, multa por Churning - Excessive or constant book/cancel activity , ocorre quando a cia aérea detecta o mesmo trecho aéreo ou parte dele solicitado a partir da segunda vez em datas idênticas ou próximas (até 5 dias antes ou depois para ida e/ou volta). As multas recebidas serão repassadas à empresa.
\r\n
\r\n
\r\n VIAGENS INTERNACIONAIS PARA BRASILEIROS
\r\n
\r\n
\r\n
\r\n Chegar no aeroporto com 3 horas de antecedência para o embarque;
\r\n Apresentar passaporte com validade mínima de 6 meses;
\r\n Para países que necessitam de visto, o mesmo deve estar válido no momento do embarque;
\r\n Para países que exigem vacina contra febre amarela, apresentar comprovante internacional com período de incubação de 10 dias;
\r\n Para maiores informações sobre vacinas necessárias ou indicadas para seu destino visite o site: http://www.anvisa.gov.br/viajante/ ;
\r\n Para viagens internacionais é necessário informar o Nome completo do passageiro (idêntico ao Passaporte), Data de nascimento, Número do passaporte, País de emissão do passaporte, Validade, Nacionalidade, País de residência, País de destino, Endereço no destino, Cidade, Estado, Cep. Endereço residencial, Cidade, Estado e Cep. Para inclusão das informações de segurança na reserva antes da emissão do bilhete;
\r\n
\r\n
\r\n VIAGENS NACIONAIS
\r\n
\r\n
\r\n
\r\n Chegar no aeroporto com 2 horas de antecedência para o embarque;
\r\n Apresentação obrigatória de um documento de identificação original com foto e atual para embarque;
\r\n Favor sempre informar o número de identidade, cartão de milhas e preferência de assento do passageiro no momento da reserva;\r\n \r\n
\"\"Dados da Ação
\r\n \r\n Forma de atendimento:\r\n  DESK MANAGER\r\n \r\n \r\n \r\n Causa:\r\n  ATUALIZAÃ\u0087Ã\u0083O\r\n \r\n
\r\n \r\n \"\"\r\n Descrição da Ação:\r\n \r\n \r\n  \r\n Bom dia \r\n
\r\n
cadastrado atualizado cliente control xpto certifications

Atenciosamente,
DONALD L. THRUMP
donald.thrump@domain.com
Telefone: (11)5555-2222
\r\n \r\n \r\n


\r\n \r\n \r\n  \r\n \r\n Para visualizar o conteúdo da Ação, por favor acessar:
\r\n https://domain.deskserver.ms/?LoginPortal\r\n \r\n \r\n \r\n \r\n \"\"\r\n Este e-mail é gerado automaticamente.\r\n \r\n\r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n", message.BodyHtml.Text); + Assert.AreEqual(0, message.Attachments.Count); + Assert.AreEqual(2, message.LeafMimeParts.Count); + } } } diff --git a/Class Library/ActiveUp.Net.Tests/Common/RFC2047/Rfc2047DecoderTests.cs b/Class Library/ActiveUp.Net.Tests/Common/RFC2047/Rfc2047DecoderTests.cs index b4cb0e8..35db6fb 100644 --- a/Class Library/ActiveUp.Net.Tests/Common/RFC2047/Rfc2047DecoderTests.cs +++ b/Class Library/ActiveUp.Net.Tests/Common/RFC2047/Rfc2047DecoderTests.cs @@ -1,15 +1,15 @@ using System; using System.IO; -using System.Text; using ActiveUp.Net.Common.Rfc2047; using ActiveUp.Net.Mail; using NUnit.Framework; -using System.Linq; +using System.Reflection; namespace ActiveUp.Net.Tests.Common.RFC2047 { public partial class Rfc2047DecoderTests { + private static string _baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); public class DecodingSample { public string SampleEncodedHeader { get; private set; } @@ -63,7 +63,7 @@ public override string ToString() public void should_handle_examples_from_the_rfc_2047(DecodingSample decodingSample) { var decodedHeader = Rfc2047Codec.Decode(decodingSample.SampleEncodedHeader); - + decodedHeader.ShouldEqual(decodingSample.ExpectedDecodedHeader); } @@ -130,20 +130,20 @@ public void should_remove_trailing_equals_when_grouping_base64_encoded_words() decodedString.ShouldEqual("(2) *BOMBARDIER CEO SAYS LOOKING FORWARD TO HIGH-SPEED TRAINS IN U.S"); } - + // This test only makes sure the new header parser is able to deserialize all the samples // To test for regressions, use the following test [Test] public void should_handle_sample_headers() { - var allHeaders = File.ReadAllText("resource\\sample_headers.txt").Split(new[] { "\r\n\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries); + var allHeaders = File.ReadAllText(_baseDir + "\\resource\\sample_headers.txt").Split(new[] { "\r\n\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (var header in allHeaders) Assert.DoesNotThrow(() => Parser.ParseHeaderString(header)); } // This test is an example of how to do A/B testing for a header parser modification - [Test, Ignore] + [Test, Ignore("Manual test")] public void parser_evolution_example() { var allHeaders = File.ReadAllText("resource\\sample_headers.txt").Split(new[] { "\r\n\r\n\r\n" }, StringSplitOptions.RemoveEmptyEntries); diff --git a/Class Library/ActiveUp.Net.Tests/Common/TraceInfoTests.cs b/Class Library/ActiveUp.Net.Tests/Common/TraceInfoTests.cs new file mode 100644 index 0000000..891bfd9 --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/Common/TraceInfoTests.cs @@ -0,0 +1,17 @@ +using ActiveUp.Net.Mail; +using NUnit.Framework; +using System; + +namespace ActiveUp.Net.Tests.Common +{ + [TestFixture] + public class TraceInfoTests + { + [Test] + public void should_process_null_values() + { + var test = new TraceInfo(null, DateTime.MinValue, null, null, null, null, null); + Assert.AreEqual("", test.ToString()); + } + } +} diff --git a/Class Library/ActiveUp.Net.Tests/CommonTests.cs b/Class Library/ActiveUp.Net.Tests/CommonTests.cs index c9feb75..15e33f1 100644 --- a/Class Library/ActiveUp.Net.Tests/CommonTests.cs +++ b/Class Library/ActiveUp.Net.Tests/CommonTests.cs @@ -1,30 +1,39 @@ using System; using ActiveUp.Net.Mail; using NUnit.Framework; +using System.IO; +using System.Reflection; -namespace ActiveUp.Net.Tests { +namespace ActiveUp.Net.Tests +{ /// /// ActiveUp.Net.Common library related tests. /// [TestFixture(Description = "ActiveUp.Net.Common library related tests")] - public class CommonTests { + public class CommonTests + { + private static string _baseDir = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + [Test(Description = "Verify the correct parsing of multiple trace entries in a mail and let not affect the message.Date")] - public void ParseMultipleMessageTraceMessageDate() { + public void ParseMultipleMessageTraceMessageDate() + { DateTime expected = new DateTime(2013, 01, 04, 03, 04, 04); - Message message = Parser.ParseMessageFromFile("resource\\testmail.eml"); + Message message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\testmail.eml"); Assert.AreEqual(expected, message.Date); } [Test(Description = "Verify the correct parsing of multiple trace entries in a mail and use the latest one as message.ReceivedDate")] - public void ParseMultipleMessageTraceReceivedDate() { + public void ParseMultipleMessageTraceReceivedDate() + { //relevant entry is "Mon, 7 Jan 2013 07:07:07 +0100" so Parser.ParseAsUniversalDateTime will give the following datetime as Result DateTime expected = new DateTime(2013, 01, 07, 06, 07, 07); - Message message = Parser.ParseMessageFromFile("resource\\testmail.eml"); + Message message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\testmail.eml"); Assert.AreEqual(expected, message.ReceivedDate); } [Test(Description = "Email with content-transfer-encoding 'QUOTED-PRINTABLE'")] - public void ParseEncodeQuotedPrintable() { + public void ParseEncodeQuotedPrintable() + { #region Expected Body var expectedData = @"------- Mensagem encaminhada ------- De: origin@email.com @@ -59,8 +68,8 @@ Financial Department ".Replace("\r\n", ""); #endregion - Message message = Parser.ParseMessageFromFile("resource\\testmail-quoted-printable.eml"); - Assert.AreEqual(expectedData, message.BodyHtml.TextStripped.Replace("\r\n", "").Replace("\r", "").Replace("\n","")); + Message message = Parser.ParseMessageFromFile(_baseDir + "\\resource\\testmail-quoted-printable.eml"); + Assert.AreEqual(expectedData, message.BodyHtml.TextStripped.Replace("\r\n", "").Replace("\r", "").Replace("\n", "")); } } } \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/Groupware/ParserTests.cs b/Class Library/ActiveUp.Net.Tests/Groupware/ParserTests.cs new file mode 100644 index 0000000..b664a22 --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/Groupware/ParserTests.cs @@ -0,0 +1,29 @@ +using ActiveUp.Net.Groupware.vCalendar; +using NUnit.Framework; +using System; + +namespace ActiveUp.Net.Tests.Groupware +{ + [TestFixture] + public class ParserTests + { + [Test] + public void should_parse_simple_file() + { + var vcal = Parser.Parse("TODO:"); + + Assert.AreEqual(0, vcal.Todos.Count); + Assert.AreEqual(0, vcal.Events.Count); + } + + [Test] + public void should_parse_simple_date() + { + var date = Parser.ParseDate("2016-11-21"); + Assert.AreEqual(new DateTime(2016, 11, 21, 00, 00, 00), date); + var date2 = Parser.ParseDate("2016-11-21 15:30:25"); + Assert.AreEqual(new DateTime(2016,11,21,15,30,25), date2); + } + + } +} diff --git a/Class Library/ActiveUp.Net.Tests/packages.config b/Class Library/ActiveUp.Net.Tests/packages.config index b553fb7..afecfdb 100644 --- a/Class Library/ActiveUp.Net.Tests/packages.config +++ b/Class Library/ActiveUp.Net.Tests/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit-html-special-char.eml b/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit-html-special-char.eml new file mode 100644 index 0000000..0863503 --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit-html-special-char.eml @@ -0,0 +1,169 @@ +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=optionalserver.onmicrosoft.com; s=selector1-hostway-travel; + h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; +Authentication-Results: spf=none (sender IP is ) + smtp.mailfrom=fromemail@domain.com; +Received: from deskserver.ms (50.80.200.123) by + GRUPR80MB1276.lamprd80.prod.com (10.164.107.99) with Microsoft SMTP + Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id + 15.20.77.7; Wed, 27 Sep 2017 12:34:46 +0000 +Date: Wed, 27 Sep 2017 09:34:39 -0300 +Return-Path: fromemail@domain.com +To: destinatary@domain.com +From: Client support +Reply-to: Client support +Subject: CLIENT - BRASIL Status: OPEN / RESOLVED #0917-000622 +Message-ID: <3a8c760555b716f3834fef3a2b05f160@deskserver.ms> +X-Priority: 3 +X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net) +MIME-Version: 1.0 +Content-Type: multipart/alternative; + boundary="b1_3a8c760555b716f3834fef3a2b05f160" + + +--b1_3a8c760555b716f3834fef3a2b05f160 +Content-Type: text/plain; charset = "iso-8859-1" +Content-Transfer-Encoding: 8bit + +Para visualizar a mensagem, por favor, use um cliente de e-mail compatível/configurado para ver mensagens HTML! + + +--b1_3a8c760555b716f3834fef3a2b05f160 +Content-Type: text/html; charset = "iso-8859-1" +Content-Transfer-Encoding: 8bit + + + + + + + + + + + +
+ Qualquer dúvida estou a disposição.
+
+ Atenciosamente,
+
+
+
+
+
+
+
+
+
+
+
+
+ Ronald Santander
+ _________________________
+
+ CLIENT
+ Consultor de Viagens
+ Tel.: + (55 11) 2222-4444
+ Tel.: + (55 11) 3333-6666
+
+
+
+ Outros telefones
+
+
+
+
+
+
+ ATENÇÃO!
+
+
+
+ Prezado cliente, Seguindo a nova resolução do Regulador XXXXX, homologada em Abril/2016, e que impõe a emissão de certificado de seguro viagem individuais, tanto para viagem doméstica quanto internacional, as bandeiras American Express, Mastercard e Visa estão migrando o processo de emissão do certificado do seguro viagem, benefício incluso em suas soluções corporativas de pagamentos se utilizado pela sua empresa.
+
+
+ Todos os novos procedimentos de emissão do certificado do seguro viagem foram comunicados e disponibilizados aos gestores de viagens da sua empresa. Caso não tenha conhecimento do novo procedimento, se faz necessário verificar com o gestor responsável de sua empresa, pois a emissão do certificado é de total responsabilidade do viajante e requer acesso a ferramenta de emissão a cada viagem, por meio de login, senha e dados pessoais.
+
+
+
+ INFORMAÇÕES IMPORTANTES
+
+
+
+ A garantia da reserva, do assento e da tarifa são a emissão do bilhete;
+ Tarifas sujeitas a alteração sem prévio aviso.
+ Atenção ao prazo de emissão das reservas;
+ Para alterações, cancelamentos ou reembolsos há incidência de multas e/ou diferenças tarifárias conforme regra do bilhete;
+ Multa por Churning: Segundo a política de reservas, poderá haver cobrança de multa em caso de solicitação/realização de sucessivas operações para o mesmo passageiro/ cia aérea/trecho. Esta cobrança, multa por Churning - Excessive or constant book/cancel activity , ocorre quando a cia aérea detecta o mesmo trecho aéreo ou parte dele solicitado a partir da segunda vez em datas idênticas ou próximas (até 5 dias antes ou depois para ida e/ou volta). As multas recebidas serão repassadas à empresa.
+
+
+ VIAGENS INTERNACIONAIS PARA BRASILEIROS
+
+
+
+ Chegar no aeroporto com 3 horas de antecedência para o embarque;
+ Apresentar passaporte com validade mínima de 6 meses;
+ Para países que necessitam de visto, o mesmo deve estar válido no momento do embarque;
+ Para países que exigem vacina contra febre amarela, apresentar comprovante internacional com período de incubação de 10 dias;
+ Para maiores informações sobre vacinas necessárias ou indicadas para seu destino visite o site: http://www.anvisa.gov.br/viajante/ ;
+ Para viagens internacionais é necessário informar o Nome completo do passageiro (idêntico ao Passaporte), Data de nascimento, Número do passaporte, País de emissão do passaporte, Validade, Nacionalidade, País de residência, País de destino, Endereço no destino, Cidade, Estado, Cep. Endereço residencial, Cidade, Estado e Cep. Para inclusão das informações de segurança na reserva antes da emissão do bilhete;
+
+
+ VIAGENS NACIONAIS
+
+
+
+ Chegar no aeroporto com 2 horas de antecedência para o embarque;
+ Apresentação obrigatória de um documento de identificação original com foto e atual para embarque;
+ Favor sempre informar o número de identidade, cartão de milhas e preferência de assento do passageiro no momento da reserva; + +
Dados da Ação
+ + Forma de atendimento: +  DESK MANAGER + + + + Causa: +  ATUALIZAÇÃO + +
+ + + Descrição da Ação: + + +   + Bom dia +
+
cadastrado atualizado cliente control xpto certifications

Atenciosamente,
DONALD L. THRUMP
donald.thrump@domain.com
Telefone: (11)5555-2222
+ + +


+ + +   + + Para visualizar o conteúdo da Ação, por favor acessar:
+ https://domain.deskserver.ms/?LoginPortal + + + + + + Este e-mail é gerado automaticamente. + + +
+ + + + + + + + +--b1_3a8c760555b716f3834fef3a2b05f160-- \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit-utf8-flowed.eml b/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit-utf8-flowed.eml new file mode 100644 index 0000000..5e6f746 --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit-utf8-flowed.eml @@ -0,0 +1,590 @@ +Subject: Re: BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino XYZ x XYZ + Nfs 666666 / 777777 Fornecedor Xamego INDUSTRIA +To: Fer/ Xamego +References: <14919984602065176398@webmail.manodoc.com.br> +From: Fulano +Message-ID: +Date: Wed, 12 Apr 2017 15:32:00 -0300 +User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 + Thunderbird/45.7.1 +MIME-Version: 1.0 +In-Reply-To: +Content-Type: multipart/alternative; + boundary="------------6E748F47A8B6FDF617BBE981" + +This is a multi-part message in MIME format. +--------------6E748F47A8B6FDF617BBE981 +Content-Type: text/plain; charset=utf-8; format=flowed +Content-Transfer-Encoding: 8bit + +Boa tarde, + +*Fulano*, conforme o conversado em nosso teste, os dados do erro ja +foram coletados, estamos trabalhando com a máxima urgência afim de +efetuarmos a identificação. + +_Em contato com o cliente estou tentando reproduzir o problema +nesta mensagem._ + +_*Ciclano*( Empresa B ), por gentileza, conforme ja conversado, peço, +priorizar acompanhar a estrutura errada deste e-mail._ + + +Certa da atenção, agradeço + + +*Reinaldo Coelho * +Nosso Grupo + +* +Em 12/04/2017 09:10, Fulano escreveu: +> +> Ok, Agradeço a atenção Ciclano. +> +> *Reinaldo Coelho * +> *Meu cargo atual* +> EmpresaX +> *Fone:(11) 2222-4444 / Ramal: 123 ** +> *Email:mary.anne@EmpresaX.com.br +> * +> *Acesse nosso site:www.EmpresaX.com.br * +> Nosso Grupo +> +> * +> Em 12/04/2017 09:01, Florencia Ramos Conceição escreveu: +>> +>> +>> +>> Sim volumes pertencido a XYZ já desembarcarão e segue hoje para +>> araguaina-to +>> +>> Duvidas a disposição. +>> +>> +>> -- +>> *Florencia Ramos Conceição* +>> * Pendencia Fiscal* +>> +>> *Fone:(12)1111-6333* +>> *Email:xyz.pendencias1@EmpresaX.com.br* +>> *Acesse nosso site:www.EmpresaX.com.br * +>> +>> *----- Original Message ----* +>> *From:* mary.anne@EmpresaX.com.br +>> *To:* "Florencia Ramos Conceição" (xyz.pendencias1@EmpresaX.com.br) +>> *Cc:* "Carlão Steave" (vendasnonorte@prego.com.br) +>> *Date:* Tue, 11 Apr 2017 15:11:37 -0300 +>> *Subject:* Re: BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino +>> +>> Boa tarde, +>> +>> tentei contato telefônico, porem não foi possível; o cliente que +>> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +>> yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy +>> informar se o volume do mesmo ja consta em XYZ??? +>> +>> Fico no aguardo para informarmos ao cliente. +>> +>> Agradeço +>> +>> att, +>> +>> *Reinaldo Coelho * +>> *Meu cargo atual* +>> +>> *Fone:(11) 2222-4444 / Ramal: 123 ** +>> *Email:mary.anne@EmpresaX.com.br +>> * +>> *Acesse nosso site:www.EmpresaX.com.br +>> * +>> +>> +>> * +>> Em 05/04/2017 17:03, Florencia Ramos Conceição escreveu: +>> +>> +>> Esta seguindo os dois +>> +>> +>> -- +>> *Florencia Ramos Conceição* +>> * Pendencia Fiscal* +>> +>> *Fone:(12)1111-6333* +>> *Email:xyz.pendencias1@EmpresaX.com.br* +>> *Acesse nosso site:www.EmpresaX.com.br +>> * +>> +>> *----- Original Message ----* +>> *From:* XYZ.pendencia04@EmpresaX.com.br +>> *To:* "Florencia Ramos Conceição" +>> (xyz.pendencias1@EmpresaX.com.br), "Fulano" +>> (mary.anne@EmpresaX.com.br) +>> *Date:* Wed, 5 Apr 2017 16:58:34 -0300 +>> *Subject:* Re: BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino +>> +>> Ok, lembrando que trata-se de dois volume de XYZ. +>> +>> Obrigada. +>> +>> +>> +>> +>> +>> Em 5/4/2017 16:53, Florencia Ramos Conceição escreveu: +>> +>> Volume pertencido a filial XYZ esta seguindo +>> atraves de RRI-0031800000 +>> +>> +>> -- +>> *Florencia Ramos Conceição* +>> * Pendencia Fiscal* +>> +>> *Fone:(12)1111-6333* +>> *Email:xyz.pendencias1@EmpresaX.com.br* +>> *Acesse nosso site:www.EmpresaX.com.br +>> * +>> +>> *----- Original Message ----* +>> *From:* XYZ.pendencia04@EmpresaX.com.br +>> *To:* "Fulano" (mary.anne@EmpresaX.com.br), +>> "Florencia Ramos Conceição" +>> (xyz.pendencias1@EmpresaX.com.br) +>> *Date:* Wed, 5 Apr 2017 09:15:54 -0300 +>> *Subject:* BLA BLÁ BLA XYZ/ XYZ / TROCA DE PACOTES origem ABC Destino +>> +>> Bom dia ! +>> +>> Fulano, +>> +>> +>> Essa destroca esta difícil de ser resolvida, pois +>> os volumes que se encontravam em XYZ , foi +>> enviado , e até o momento não foi nos enviado os +>> nossos corretos . O cliente XYZ nos cobra +>> posicionamento , e se que tenho retorno da filial +>> XYZ. +>> +>> Favor resolver esse caso , o quanto antes. +>> +>> +>> +>> Em 5/4/2017 08:48, Fulano escreveu: +>> +>> Bom dial, +>> +>> Pessoal informaçoes referente a +>> destroca??...pXYZiso de um retorno*URGENTE, +>> *pois o fornecedor( nossoMONITORADO) tem nos +>> cobra regularmente este posicionamento. +>> +>> Fico no aguardo, para que possamos +>> comunica-lo o mais breve possival +>> +>> att, +>> +>> *Reinaldo Coelho * +>> *Meu cargo atual* +>> +>> *Fone:(11) 2222-4444 / Ramal: 123 ** +>> *Email:mary.anne@EmpresaX.com.br* +>> *Acesse nosso site:www.EmpresaX.com.br* +>> +>> +>> * +>> Em 03/04/2017 09:48, Fulano escreveu: +>> +>> Bom dia, +>> +>> Ciclano assim que possível posicionar, +>> peço também que verifique a XYZusa do +>> cliente sobre 3 volumes, pois o erro era +>> apenas em 2 volumes, sendo estes para a +>> filial de XYZ... +>> +>> *Reinaldo Coelho * +>> *Meu cargo atual* +>> +>> *Fone:(11) 2222-4444 / Ramal: 123 ** +>> *Email:mary.anne@EmpresaX.com.br* +>> *Acesse nosso site:www.EmpresaX.com.br* +>> +>> +>> * +>> Em 03/04/2017 09:44, Gabriela Xavier escreveu: +>> +>> Bom dia ! +>> +>> Temos algum posicionamento ? +>> +>> Nosso cliente nos cobra RETORNO COM +>> URGÊNCIA... +>> +>> +>> Em 31/3/2017 09:35, Fulano escreveu: +>> +>> Bom dia, +>> +>> Ok, agradeço a atenção. +>> +>> *Reinaldo Coelho * +>> *Meu cargo atual* +>> +>> *Fone:(11) 2222-4444 / Ramal: 123 ** +>> *Email:mary.anne@EmpresaX.com.br* +>> +>> *Acesse nosso +>> site:www.EmpresaX.com.br* +>> +>> +>> * +>> Em 31/03/2017 09:25, Ciclano +>> Ramos Conceição escreveu: +>> +>> Valéria Bom Dia +>> +>> Trata-se de rota do interior, +>> no qual já foi XYZusado os 03 +>> volumes pelo cliente, e +>> parceiro já esta retornando +>> com mercadoria para +>> transportadora para estarmos +>> verificando, assim que tiver +>> ok, informo ID de envio para +>> acompanhamento, +>> +>> Duvidas a disposição. +>> +>> +>> -- +>> *Florencia Ramos Conceição* +>> * Pendencia Fiscal* +>> +>> *Fone:(12)1111-6333* +>> *Email:xyz.pendencias1@EmpresaX.com.br* +>> +>> *Acesse nosso +>> site:www.EmpresaX.com.br* +>> & amp; lt; /p> +>> +>> *----- Original Message ----* +>> *From:* +>> XYZ.pendencia04@EmpresaX.com.br +>> *To:* "Fulano" +>> (mary.anne@EmpresaX.com.br), +>> "Roque Neto" +>> (xyz.pendencias1@EmpresaX.com.br) +>> *Date:* Fri, 31 Mar 2017 +>> 08:56:52 -0300 +>> *Subject:* BLA BLÁ BLA XYZ/ +>> XYZ / TROCA DE PACOTES origem +>> ABC Destino +>> +>> Bom dia ! +>> +>> Ciclano, +>> +>> +>> Favor nos posicionar +>> referente ao volume de +>> XYZ , pois o mesmo nos +>> cobra retorno COM URGÊNCIA. +>> +>> +>> +>> Em 30/3/2017 08:24, Fulano +>> escreveu: +>> +>> Bom dia, +>> +>> Gabriela, agradeço o +>> retorno. +>> +>> Ciclano, assim que +>> possível nos +>> posicionar frente ao +>> envio do volume de XYZ. +>> +>> Obrigada. +>> +>> att, +>> +>> *Reinaldo Coelho * +>> *Meu cargo atual* +>> +>> *Fone:(18) 2103-4777 +>> / Ramal: 725 ** +>> *Email:mary.anne@EmpresaX.com.br* +>> +>> *Acesse nosso +>> site:www.EmpresaX.com.br* +>> +>> +>> * +>> Em 29/03/2017 10:35, +>> Gabriela Xavier escreveu: +>> +>> Bom dia ! +>> +>> Troca confirmada +>> , os volumes de +>> XYZ serão +>> enviados hoje +>> através dos RRIs +>> 35468888 / +>> 31755555 , devido +>> a fiscalização. +>> +>> Gentileza +>> acompanhar +>> desembarque dos +>> mesmos, e nos +>> enviar os nossos +>> com urgência... +>> +>> +>> +>> +>> Bueno , +>> +>> Favor associar a +>> devida viagem em +>> sistema do SSAAS +>> abaixo , hoje. +>> +>> +>> +>> +>> +>> +>> +>> +>> +>> -- +>> +>> Em 29/3/2017 +>> 08:21, Fulano +>> escreveu: +>> +>> Bom dia, +>> +>> Ok, por +>> gentileza, +>> assim que +>> tiver +>> informaçoes +>> referente a +>> este volume +>> comunique por +>> favor, para +>> que a +>> destroca seja +>> efetuada o +>> mais breve +>> possivel. +>> +>> *Reinaldo Coelho * +>> *Auxiliar +>> Manutenção* +>> +>> *Fone:(18) +>> 2103-4777 / +>> Ramal: 725 ** +>> *Email:mary.anne@EmpresaX.com.br* +>> +>> *Acesse nosso +>> site:www.EmpresaX.com.br* +>> +>> +>> * +>> Em 28/03/2017 +>> 17:50, +>> Ciclano Ramos +>> Conceição +>> escreveu: +>> +>> ok +>> +>> já +>> estamos +>> verificando. +>> +>> +>> -- +>> *Ciclano +>> Ramos +>> Conceição* +>> * Pendencia +>> Fiscal* +>> +>> *Fone:(12)1111-6333* +>> +>> *Email:xyz.pendencias1@EmpresaX.com.br* +>> +>> *Acesse +>> nosso +>> site:www.EmpresaX.com.br* +>> & amp; +>> amp; lt; /p> +>> +>> *----- +>> Original +>> Message ----* +>> *From:* +>> mary.anne@EmpresaX.com.br +>> *To:* +>> "Roque +>> Neto" +>> (xyz.pendencias1@EmpresaX.com.br), +>> "Gabriela +>> Xavier" +>> (XYZ.pendencia04@EmpresaX.com.br) +>> *Cc:* +>> "Logística +>> | Grupo +>> Xamego" +>> (logistica@Xamego.com.br) +>> *Date:* +>> Tue, 28 +>> Mar 2017 +>> 17:36:24 +>> -0300 +>> *Subject:* +>> BLA BLÁ BLA XYZ/ XYZ / +>> TROCA DE PACOTES origem ABC Destino +>> +>> Boa +>> tarde +>> colegas, +>> +>> Os +>> conhecimentos +>> citados +>> constam +>> em +>> entrega, +>> porem +>> houve +>> troca +>> de +>> etiquetagem +>> em +>> XYZ, +>> desta +>> forma, +>> peço +>> a +>> atenção +>> para +>> que +>> possamos +>> destrocar +>> o +>> mais +>> breve +>> possível +>> +>> XYZ +>> 322433, +>> CLIENTE +>> ME DE +>> S +>> CASTRO +>> (XYZ), +>> trocado +>> com o +>> AWB +>> 383555, +>> CLIENTE +>> XE +>> MENTES(XYZ) +>> +>> (O +>> cliente +>> XE +>> MENTES, +>> conforme +>> informaçoes, +>> devolveu +>> a +>> mercadoria +>> no +>> ato +>> da +>> entrega) +>> +>> *Gabriela* +>> por +>> gentileza, +>> verificar +>> informação +>> de +>> devolução +>> para +>> que +>> se +>> possa +>> enviar +>> o +>> volume +>> para +>> XYZ, +>> por +>> gentileza. +>> +>> *Anislei,* +>> não +>> temos +>> informaçoes +>> de +>> que o +>> cliente +>> de +>> XYZ, +>> ja +>> verificou +>> o +>> erro, +>> desta +>> forma, +>> peço, +>> entrar +>> em +>> contato +>> com a +>> tripulação +>> para +>> que a +>> entrega +>> não +>> seja +>> finalizada, +>> e +>> encaminhar +>> o +>> volume +>> para XYZ +>> +>> Fico +>> no +>> aguardo, +>> pois +>> trata-se +>> de um +>> cliente +>> monitorado +>> +>> *Valéria +>> Coelho * +>> *Auxiliar +>> Manutenção* +>> +>> +>> *Fone:(11) +>> 2100-4777 +>> / +> + + +--------------6E748F47A8B6FDF617BBE981-- \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit.eml b/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit.eml new file mode 100644 index 0000000..1131c41 --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit.eml @@ -0,0 +1,60 @@ +Delivered-To: test@gmail.com +Received: by 10.74.160.23 with SMTP id m23csp804194ook; + Thu, 16 Mar 2017 08:08:37 -0700 (PDT) +X-Received: by 10.55.6.150 with SMTP id 144mr8056253qkg.46.1489676917228; + Thu, 16 Mar 2017 08:08:37 -0700 (PDT) +Return-Path: +Received: from mail-qk0-x229.google.com (mail-qk0-x229.google.com. [2607:f8b0:400d:c09::229]) + by mx.google.com with ESMTPS id a64si3758726qkf.331.2017.03.16.08.08.37 + for + (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); + Thu, 16 Mar 2017 08:08:37 -0700 (PDT) +Received-SPF: pass (google.com: domain of sender@gmail.com designates 2607:f8b0:400d:c09::229 as permitted sender) client-ip=2607:f8b0:400d:c09::229; +Authentication-Results: mx.google.com; + dkim=pass header.i=@gmail.com; + spf=pass (google.com: domain of sender@gmail.com designates 2607:f8b0:400d:c09::229 as permitted sender) smtp.mailfrom=sender@gmail.com; + dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com +Received: by mail-qk0-x229.google.com with SMTP id 1so37366903qkl.3 + for ; Thu, 16 Mar 2017 08:08:37 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=gmail.com; s=20161025; + h=message-id:date:mime-version:from:to:subject + :content-transfer-encoding; + bh=2QnvsTh9E3ypZ4ixMqGitbrJs0JbGOtjdI7L1BPGDqU=; + b=fc5g3ktEYw5YquimyXeRkbhamf3Jdvuq7aCpJvsg7SfPdVDIdR/P7UT3lvqpW1KI9j + L0I8imuun1ee+TbRK99Z8ECimhvWtrEhZMLrqCa01nRjjoJmFLe8c82Ox423FMmiE7Tp + N7DAX5jIWiiLuw+8lwpF2vA2yW4m2QTCqplmc7iXjwIdXI2yPRPEp4zarYC/ir/blBTQ + oCSPiYvB2fohqTMnjR+ptes0P2IQE2b4uQL2WIFCQnv4GaBnjTJyOssgDnU/jRgAisrZ + 7vFUx0dJ5eM3aWPO89r29fZL4OR+H/5wlVH0rmow378wJnwQXwgLirO2mxk99MdSAgPA + 4+3A== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:message-id:date:mime-version:from:to:subject + :content-transfer-encoding; + bh=2QnvsTh9E3ypZ4ixMqGitbrJs0JbGOtjdI7L1BPGDqU=; + b=fq8X2mVZ80d73QoN1x2SBUvq+BtR3rXI90xApapNiuFHl1F2ueIx+HRu2MPLpKgXqa + P/IsSSUBAA4xktfT2NS2UThHNbK5DJb60zlFU9scwy/mFyiNmykwzGX+ffZOgSzsiCkE + zPLY/bOvqyDlc21slD1gqPgdm7pMronW/6VX2JbrK07GTEulJiOkAZnEQx1Qfff+yab7 + Leb4K5W8lqDYSI9qmcpMP+Dn/7LbjdZlZfI63Z1w2dVsgAcjHw1JhoaXh/auUT+FMVXP + t12UYcyNWMBKmP8zd7bD+1x32S2Cc9/HNaQSRhRNyYd8g2y9b+klobYheyIMIkHvA+Ve + ve0Q== +X-Gm-Message-State: AFeK/H3g7AlcgYq1mtEc/Eudw1nWyBHvrf5jBa6KyocTGRNQDtHWppI/pmsbhDy4imkRbsM6 +X-Received: by 10.55.158.87 with SMTP id h84mr8181387qke.15.1489676916814; + Thu, 16 Mar 2017 08:08:36 -0700 (PDT) +Return-Path: +Received: from DESKTOP-J2NGVFS ([177.139.33.240]) + by smtp.gmail.com with ESMTPSA id w35sm3805749qtc.55.2017.03.16.08.08.35 + for + (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); + Thu, 16 Mar 2017 08:08:36 -0700 (PDT) +Message-ID: <58caaa74.6625ed0a.22a2d.5376@mx.google.com> +Date: Thu, 16 Mar 2017 08:08:36 -0700 (PDT) +X-Google-Original-Date: 16 Mar 2017 12:08:32 -0300 +MIME-Version: 1.0 +From: sender@gmail.com +To: test@gmail.com +Subject: Special char test çãõáéíóú +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Body special char test çãõáéíóú \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/resource/html_multipart_related_email_with_subparts.eml b/Class Library/ActiveUp.Net.Tests/resource/html_multipart_related_email_with_subparts.eml index 70b8806..9144d0d 100644 --- a/Class Library/ActiveUp.Net.Tests/resource/html_multipart_related_email_with_subparts.eml +++ b/Class Library/ActiveUp.Net.Tests/resource/html_multipart_related_email_with_subparts.eml @@ -41,7 +41,7 @@ Content-Transfer-Encoding: quoted-printable Hi, -Im the first step of message to test. +I'm the first step of message to test. Sender Helper diff --git a/Class Library/ActiveUp.Net.Tests/resource/multipart_body_text_and_html.eml b/Class Library/ActiveUp.Net.Tests/resource/multipart_body_text_and_html.eml index fae5b1b..940d986 100644 --- a/Class Library/ActiveUp.Net.Tests/resource/multipart_body_text_and_html.eml +++ b/Class Library/ActiveUp.Net.Tests/resource/multipart_body_text_and_html.eml @@ -1,20 +1,20 @@ -Received: from SN2PR80MB334.lamprd80.prod.outlook.com (10.141.41.24) by - CP1PR80MB326.lamprd80.prod.outlook.com (10.242.254.27) with Microsoft SMTP +Received: from SN2PR80MB334.prod.outlook.com (10.141.41.24) by + CP1PR80MB326.prod.outlook.com (10.242.254.27) with Microsoft SMTP Server (TLS) id 15.1.501.7 via Mailbox Transport; Fri, 27 May 2016 01:10:51 +0000 -Received: from ROXPR80MB1722.lamprd80.prod.outlook.com (10.165.255.20) by - SN2PR80MB334.lamprd80.prod.outlook.com (10.141.41.24) with Microsoft SMTP +Received: from ROXPR80MB1722.prod.outlook.com (10.165.255.20) by + SN2PR80MB334.prod.outlook.com (10.141.41.24) with Microsoft SMTP Server (TLS) id 15.1.497.12; Fri, 27 May 2016 01:10:49 +0000 -Received: from SC1PR80CA0017.lamprd80.prod.outlook.com (10.165.111.24) by - ROXPR80MB1722.lamprd80.prod.outlook.com (10.165.255.20) with Microsoft SMTP +Received: from SC1PR80CA0017.prod.outlook.com (10.165.111.24) by + ROXPR80MB1722.prod.outlook.com (10.165.255.20) with Microsoft SMTP Server (TLS) id 15.1.506.9; Fri, 27 May 2016 01:10:45 +0000 Received: from BN1BFFO11FD026.protection.gbl (2a01:111:f400:7c10::1:199) by - SC1PR80CA0017.outlook.office365.com (2603:10d8:0:1::24) with Microsoft SMTP + SC1PR80CA0017.outlook.com (2603:10d8:0:1::24) with Microsoft SMTP Server (TLS) id 15.1.506.9 via Frontend Transport; Fri, 27 May 2016 01:10:44 +0000 Authentication-Results: spf=pass (sender IP is 78.47.3.53) - smtp.mailfrom=trustyou.com; alatur.com; dkim=none (message not signed) - header.d=none;alatur.com; dmarc=bestguesspass action=none + smtp.mailfrom=trustyou.com; customer.com; dkim=none (message not signed) + header.d=none;customer.com; dmarc=bestguesspass action=none header.from=trustyou.com; Received-SPF: Pass (protection.outlook.com: domain of trustyou.com designates 78.47.3.53 as permitted sender) receiver=protection.outlook.com; @@ -25,108 +25,17 @@ Received: from xs2.trustyou.com (78.47.3.53) by +0000 Received: from xs2.trustyou.com (localhost [127.0.0.1]) by xs2.trustyou.com (8.14.4/8.14.4/Debian-2ubuntu2) with ESMTP id u4R1AgCg001823 - for ; Fri, 27 May 2016 03:10:42 +0200 + for ; Fri, 27 May 2016 03:10:42 +0200 Date: Fri, 27 May 2016 03:10:42 +0200 Message-ID: <201605270110.u4R1AgCg001823@xs2.trustyou.com> Content-Type: multipart/alternative; charset="utf-8"; boundary="===============1154471675865193341==" Content-Transfer-Encoding: base64 -Subject: Reminder: Mercure Sao Jose Dos Campos Hotel - Please tell us about +Subject: Reminder: Test - Please tell us about your stay -Reply-To: -To: Paulo Cesar Minuti -From: Mercure Sao Jose Dos Campos Hotel -Return-Path: survey@trustyou.com -X-MS-Exchange-Organization-Network-Message-Id: e5211065-584d-4620-2e00-08d385cbba7d -X-EOPAttributedMessage: 0 -X-EOPTenantAttributedMessage: fec095e8-7415-4521-9abe-d8c80dedd2cf:0 -X-MS-Exchange-Organization-MessageDirectionality: Incoming -X-Forefront-Antispam-Report: CIP:78.47.3.53;IPV:NLI;CTRY:DE;EFV:NLI;SFV:NSPM;SFS:(1060300003)(2980300002)(438002)(596005)(108464003)(199003)(189002)(12213003)(2810700001)(15974865002)(110436001)(19617315012)(8896002)(1096003)(5008740100001)(118556001)(1076002)(86362001)(19580405001)(8676002)(53806999)(19580395003)(512874002)(106466001)(50986999)(23676002)(4290100001)(54356999)(229853001)(43066003)(104016004)(5001970100001)(5003600100002)(110136002)(107886002)(53416004)(18206015028)(16601075003)(76506005)(89386003)(606003)(6806005)(15975445007)(77096005)(84326002)(450100001)(7099028)(22220200012)(19627145002)(40973001)(24616003)(19622745005);DIR:INB;SFP:;SCL:1;SRVR:ROXPR80MB1722;H:xs2.trustyou.com;FPR:;SPF:Pass;MLV:nov;A:1;MX:1;PTR:app2.trustyou.com;LANG:pt; -X-Microsoft-Exchange-Diagnostics: 1;BN1BFFO11FD026;1:1OPYsKIkzSwEbFh73Y8nyRNL17G40zPZxJ40o47FGGo8R9uMAl5+wpCNCiPGRLsdWoRYNuIFL7A5dgDqzosC/qy5ZZZ8wMCgjvzD9NUW+vaFk0c1p2zuV8XC2YgOx6UbBhBXNET2i53MLRurGhxFUO4B8ZUzVL5RiIy+9MIU0jwkVlxPqSf4ZpgL/EE/D/+4b+Levxx3suWnOSv46xLe7Zf8RyTnUN68/QSQZJ9/qPj52p0scXPYDzYtIDb+Eb4r9ACNP2ENoPmHkvB5hQ83QjUlWKr60vWl0sheMuENKxHd5YCKZVcJxdUZt4RFnv/zngHJcrnZKhlijC///MuyydHIrl8cc2ZeD08mG3ZmQanSCmU/ybqGhrSC0+zvAZtYolzL7yA7NPnReKQqmhCw6ir4mnlQmm35RldnfrFOZCK9WASbSJt/45WXHna3M25A53xsHpzwsrT3wrqoKbqQTZPREIK1AViBwLvGWJPn72RL2Bu3YN48qumX2CM74YSrzbOWocFGdRFGPAs0Ekb6CQ== -X-MS-Office365-Filtering-Correlation-Id: e5211065-584d-4620-2e00-08d385cbba7d -X-Microsoft-Exchange-Diagnostics: 1;ROXPR80MB1722;2:sPAqd3jogsTG+G6hX0nfEe7maTAqCSk4N4faZwUzVgJ+ECuraXgWxo4g52d3CHGc3xMIMwSx9JSyrFu4W9U81ENiU+W9r2lsSRMyi2Fa1kQXWPnLCUTPYY0rneEQg1zVuUnbWyS/iawQZN8Hr2EqUTufR9ohBhcVe3isyg5KLQNsWVJZZH72JTxveRFeJQMY;3:9+7I7kcHHrIxfR9Pesh3V26FIhhwFALPkc4g0UzOxeUanzGwK/Q2K4KmG08QymqzPfzmU18W7pIrZNQhZnWIvAPoVT8lghzug2ySMJtx6S0iavjZ9kdjXVjOulCoZ21qR442nn0a2h350ZWa1FsIHxTccl35kyfzXzdkSyMZoC/A9d3yDmhIvVbASepjRZniNf/UvrGI7ViP3BYSxThAUljslorB5ZYiORSo3yAnZsWruSGwuLfPF+SMwaYthqhEUmQHSJHGbj2RY639V4MHe+I44ctjZJ4xOr17coCWSl8= -X-Microsoft-Antispam: UriScan:;BCL:1;PCL:0;RULEID:(8251501002)(71701004)(71702002);SRVR:ROXPR80MB1722; -X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtST1hQUjgwTUIxNzIyOzI1Om9OcjIyN1hrZ2NhTkc2OEFHdXlVSkJ5ckZE?= - =?utf-8?B?VWs1cmdadkVwWTJ5bXArd3VhZm9nUlFpUXQ2UnRVRWgyVmVGSXIrY2ZVdDdu?= - =?utf-8?B?bS9FbllYUHNJZERaOU9ZZWppZ1FlaGN6aTZYQnpmUTl4Mlo5N01WTkZIUlRE?= - =?utf-8?B?U0F2WFRwSERxTklScWxueDJPUmNJRVMyZUZVVEpRY1l2RXU4MnlLaUtiM3JY?= - =?utf-8?B?NGtPNnpnaEk1WldUV3Q3bHJjemk5Vm9aN2pZdTM3ZFZTM2hqTXo3SjJOQ1Q3?= - =?utf-8?B?eGh3OFViUittLzNwVXc5TWFqaWw0RnlCSUdSdjdKNHJqVGFwS1hTTCsydHhV?= - =?utf-8?B?dit1dU4wMlhkZlBpNlhOVkFuYlE4TDgwa1JpRGNuTUN1VkZpRHdrQWVtZTdS?= - =?utf-8?B?WXNSbElsWFdad3hqRWhBYXBXMnpkWWQyNkp2NHJ0K1RNRkdSN05Jd0JHeTNj?= - =?utf-8?B?NEtBaFV2L0FUanpsaTMwQktYK0IvdkJ6ZGkxazBFbm1raWYyUkpnazhrRDZp?= - =?utf-8?B?WGtQamhIRG13ZlIzTkNLWDF0YWs4WW43NUtWZEVmWE5XeW5KZGM5VUx4RkJu?= - =?utf-8?B?TEUxOEVxT3ArdlhsSm1pZ3JZVG1tY0N4L200OWVLeUR3bDFKTDh2UTV3STNX?= - =?utf-8?B?N3VMZllGZzBYcnEvZXJaN05ZSjI1WjQyTHNwclFrVWlPT09CZ3BlZGlWbXR0?= - =?utf-8?B?eiswQ3FRYlc3RGtwNG9GQllFTVZtQjF3THN6eXRpeWxIMXVEc2VLSGE4Zm0v?= - =?utf-8?B?WmxHUmxhdDNFVDQxeXpYM2dPa1JZcEFJcWRHbW5oRjhOTkszSy9zNFZWbFJq?= - =?utf-8?B?YTdra1M1dGl1a3B2T2JUek9Qb2R2a2JhU0FvWXJJVDd3T0JtZGdteGRYNzBF?= - =?utf-8?B?cnFXMGhneVFGMEpKSmhCcHIreFQ5ZDFob21DK0hybkpPZWxEWi9rR3hxYTl6?= - =?utf-8?B?NnJZaTl6cnJTTzdvOWZYVjlFSFllL3RLOWdua1BzMVlxSUlqMENlZ2FJY0c5?= - =?utf-8?B?d2FaN3dIWDlBdXFERkVQdk9tYmJ2bHpDbW1UNDBMYm1Ia0NpN2Z3MkRMOGVN?= - =?utf-8?B?VDhwWUF4QlhQTTV1NDVtVER2aEpkSnBwRnQwRjZYdkMwcE91MHdDZlV3VnBm?= - =?utf-8?B?aWl0ZUpEOHFqSnZQL0FCUzlKRENWSCtja2FBbEZLNHVOQ0IwWWkzNnE4Q3R2?= - =?utf-8?B?Z0tncnQ0UnhTNXk1UksyWCtyWDRya0ZTVUZ5UVhrUDQ3N2VZYnB3Y1JwWXlH?= - =?utf-8?B?NjN1eXBlL1JLdE5xZnB3bHdpUFVlWkNyUkIrSDFUQnRBZXFxSGI5T213U1BV?= - =?utf-8?B?UXdBZWVGckFCOXNPak9CMFJvcXMvbS9hSTFKM3dmMmhXSVlsRTZYaEdGNi83?= - =?utf-8?B?QWlycHk1UGpxQk5OZnBmS29hbkFDaEJTWlFkVFI4WTVpRzArUmxhNlZHc3Z5?= - =?utf-8?B?T2tPdDE0VC83WEowbEV4dEpjbkVNZHRJdGpBMWhjRTFsbjltMUF6QnR2MGor?= - =?utf-8?Q?CTkCIREPekccdX96zSoXD7mTw=3D?= -X-MS-Exchange-Organization-AVStamp-Service: 1.0 -X-Microsoft-Exchange-Diagnostics: 1;ROXPR80MB1722;20:5PU4KBiU9E7cHXm2JOPPFkdbo6MoW/R0pUQEhSNAOl7nACYHQAZpppRbcXm+XzApsd5SxrDqkGpRCWVDGLNFp9hRsVm04aDWdU5VgtJV87Z3Bsf3qbFUBbIruoyOUwW32TBPoeik2S4OTdkZeJDdIiNCP+6Onz1mc/XTGriQfS6erFxS/YBsbANo3B7/Vj2wnRN3ondYln78zbK1G07xFMrxBrkk4h4NgyA9r1Som9onkiiiif88bB6qY7+959GEnTaYggTtMpznTxSIH+uoaPTT+Xrh5Fs2sfnQHG/Bd9RdmvsdAQ4pJFAf8YMekIHehw0cnGXdHNdjgE9kKWu7Ngfh5R4ZlJy6ivqJMI5EIIW/hWjtgGYf+AYQ0kp/Smr+tn7LNVmTEp5w77iKnDsxlSV5J8g3UynlHeM9WFVImLLzHFpyrDQ0RF8TC/vQhM5ZE0pYv8msZSKp8snrVeLz9jvbXMGvxIBW2AT7ChUF/hT1EjqfMiumfp/kcWzJchQJ -X-Exchange-Antispam-Report-Test: UriScan:(186804555387878)(132588294163622)(8834279675964)(188624283179953)(18179755731425)(179696456005106)(177955579848467)(172379913469975)(192770952179590)(126478720108774); -X-Exchange-Antispam-Report-CFA-Test: BCL:1;PCL:0;RULEID:(9101531078)(601004)(2401047)(701104)(1201001)(13016025)(8121501046)(13018025)(3002001)(10201501046);SRVR:ROXPR80MB1722;BCL:1;PCL:0;RULEID:;SRVR:ROXPR80MB1722; -X-Microsoft-Exchange-Diagnostics: 1;ROXPR80MB1722;4:uEDUCs2IN8PDyzr/PLiHSvaDK46xxrwR3mpaXCLiHlmY66ob1w9YSBB4NoRUbxBLshP/F6wCEq+iYYxb+3ClWOCa53gYKjS9FMc0ygsf/ESkYpnXO95RR68F177ObteN1XleNVKpG7wcuZrhS4NIBKck/eojOMb1K0w7Ih8VwQeLF12rS8OH1IERGDiMChT5CYyZ3SdkIxtHDwSxJiEKyQnTukFos0ujqSvZUrONPtzsBoQLLJYCdnU/kmBziQIGwtggl8apP5udyxpsvgo0/qtOfQ3cd/iP0xZMWRRFmkFsYcbTeVFaRdWUsvWEnLp2gmE6O/zp/f8p53kZVNMGJ5bRbNJmddy6umNq7gLvOkXd/6yFSS/ZJrJ1tV1lPNybdetQGQ2ynuo/kvbzipKCCx08+ZCtKA5TiXnwQGMFuqssKBtct81LEOCk1GrQzZRznZaLCE6ISRsos4H2yDjquQDc2rmlFPILOj+w1ZAggfTiUEliEdNJAIyv89o0+ankvGplvM42ieSaHW+fYIDb3lyF2P+1Ljy6revxO/H3+SsL1x3Q9HLuRAFXeOK7Ev89dNC6Z9JhHZEI27Re1TSEtqTjZO0n+LPgZRUuadvWkkn8o/YKAA9QTIveqhskn7AcgvgjK5sfLFHUmmud9i5FO4b0yHo6gRjIw68V9Nel0oaQ9Vsq3KwjNiY/fKax0jnxx4ZOfx8mEEEaP8HPrjqNlbhWMOeAgExKW0DtshfBguaxzwCBt2AQ+oryF5Oe7QkjnsxtoEaonLr+r27Dgzvv1Nt20OJUzEtLwa10u1H6xsE= -X-MS-Exchange-Organization-SCL: 1 -X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtST1hQUjgwTUIxNzIyOzIzOnZHNTBhRWM0ZkVUaXRHdFVCN0VpVlRhV0xr?= - =?utf-8?B?WmQwcXFpZElWVk5ZRGdUS2U4cWU5TDQ1eVRPdkY2WDFSU1BVNkVpZ0M0S0M4?= - =?utf-8?B?WEh6eWo4YXJMd3FzR1Zmd0U2TDNlMUJKVzRkMCs1OEtTRmxCUEkyT2RXUzY3?= - =?utf-8?B?emw5V3EwdXQ1QzhrYXlEdFBFbFBTdDg1NE00V1lMMUtoWDJmeUlyeU96M2pN?= - =?utf-8?B?VzBTZE51RHI1WC8wRTdVY3lKZzhRdkJLdGNPcDF0cU84TXJSTlEvbzBsL0Jx?= - =?utf-8?B?Z0YySWNGaDdmaVpKOTFWaWhuN09LTFB3QndEamVPdWlmdTV6bzRtMk5ERGpR?= - =?utf-8?B?N2kySGFqWWU3R3hNeUE0VmFVcHJYZHpKV1RZV2UrM3ZmUTZjQjREQWV3L3ll?= - =?utf-8?B?WHdScHdCbmd1OGhFaDNsUEYvR3BmSDB2TnJCRktnS21rZFNMZm8vN2cyWFlY?= - =?utf-8?B?M2QvMllaQkpVQnI0dWY2aEFTcFFVSjZsKzBqY1FGT1dXY3p6ajQvSTd3cjhk?= - =?utf-8?B?c0doeG94dTBhTU5mdGJKYi9Kd0tKODY3R0JOM0plMTVRQlJTeHFyalR0eFNI?= - =?utf-8?B?b3VybmN1elpMTjE5bU5BVjBNNUdZbndwQXZTRXU4MjZPTHpsYjdUTWhiTjY2?= - =?utf-8?B?S3NaZElRWmZTbGhUNTYrbjY3ZVdEaHJRZStTNU5PSGorelp1RWpiNzhUNW1x?= - =?utf-8?B?c3ZEcitlVUQyRkZrZTBnWXZZZ1VKbFlBdVdMMUdlTUVpQjNZcVdMSDMreDh2?= - =?utf-8?B?a1J6MjZoWDhscmFvVStRVkFMRkFIR01lQlhVUjltNHRxNG1BWUxKVGFaYm0z?= - =?utf-8?B?VldsTCt3dXJTY3QwUjJ0YXdacmFjeDFNOGlhN0ZvYmZVejYwYWNQSkhWdi8r?= - =?utf-8?B?M0JKcmU5STlRVUh0a05ubitJTEVnYmt0SWhUcnZlbVdIOXcvTkZKc2lLdVJK?= - =?utf-8?B?NExlbm54Z21QRHRZcW8rUTlkZFlqdlRqdk4vMjVibWFraEhoRnRCODNYUXVD?= - =?utf-8?B?ZG91WG1qRDM4ZHNYcFVUQnhuUnloRERleTY1enEwaytHSS94SDNNa3VXWFlk?= - =?utf-8?B?Rm1VZnUwKzB6Y1h2cENjNDBWZERUYkZRa0VaY1NheTRiMWtKUDJrdDlkYmh0?= - =?utf-8?B?VUpZdGtWcnBjQ0lNeldXU2tJdDRkN0VNajFXMVZNZVBad2VKNW5jUVh4ZmRH?= - =?utf-8?B?dC8xekViZHcwWlNSY0RLRUJBekxLZ09FZU1jWkxlMnhyOFE2bk83S2x2dG5P?= - =?utf-8?B?RTlCeVJGL1VoRmpFcFFwRzlvQzlGa0k1elljdmp1MElsVEczL3BCcExLZ3JC?= - =?utf-8?B?TUhSVE95bXUwTmlSZzRhU2pXUmVpZGNUZ1daZXJNZkFzck1uZGtuNDRnY2s4?= - =?utf-8?B?dlB4TFprRm1Ddmh3T05WcUNJdEJERkFmQlJ2OGNjNXphU0FCUUtnZjJkZmFE?= - =?utf-8?B?VnJielpBTTJXV21ISWVhN1I3Mi9mQkU5MWl3aHVHS0hVQVc1QVNqMVRMYXVS?= - =?utf-8?B?T2hTWlBYN095eDZweDBmRWxMcWZaa0R2a2YrNUNqZW1QT2dDTVgrd0dxNEo1?= - =?utf-8?B?Y3A0clA5aVBMejlBd0d5SExUdCtQTWRTQXBScHNqMnp6S0Z6WlBYQjFOU3U0?= - =?utf-8?B?bGVHMlJEVXdRNks2WkdvQ2NMOWpNQ05UZEJmbkhIc1MwOE5DOHZsL1I1bEZQ?= - =?utf-8?B?bW1aSldWaDVNSjRlMEY2TWJYVjQxckVVUUpqNWh5MjBqS2FyWWpFcGJtMXZL?= - =?utf-8?B?aTdGV2lYK1ZGMnFJZjNUSFJOdmNOUXBLejdLdUViUTlMZVZaSDBZOEIzZHRr?= - =?utf-8?B?ODZpYTNhdHdFQjRPT2MxTG1NMGdJdGJpSW5oYm9LdmxzOWc9PQ==?= -X-Microsoft-Exchange-Diagnostics: - 1;ROXPR80MB1722;5:RuDWsMhEKNKGALOAPB6xXw2f+fSdWoyfF9Vc2+8DiWF1NJGPxE3XY3MqW4yAaErnMtI2yT9+dx+rIT6ZnQwjEV0OFmd0DPTgcWPl0OONxwl52F10Qu5sn9xyOtv8MK4JxHR1+zEWI6GZr83giE+nrA==;24:WqGoDkKdgR/2u417O2JKN4LzSDfSqu1pwSHgnt48YJ9bKgpH+/aUOHO/rZpj6lSJ0Xek5G78cSOS1LgYIezcQ+YP7DoM+Zu1w0eeuskJMvA=;7:37QDzfN5IoADp1v/w8ETu7HsRCSjl6ThxcU+dlHrj09oa8OQI9sSY3ntZH0OirdU4C0ivX+76VlO9ktNE+BYaTXcP/v5iCQFvJrgnRSb/wYYdfocw5jTj3HIBo0mQbIjla9k41q8+Bp6XZm2SKP23Nxisd0hMFH8TuABCqn6Swde2x1gJJYMg7KG64EOkMyS;20:sQ6Kpixu7sVJe7Lpq+mNX+llF25lpybMr/7jG9nq6pLLnEWhY2COemQZBf/zstS75nMiYvYm3hBb/820FD6WG/eTG7P7q3t6lLQmG+Vv0sOhFwzdzdyHE5Jt3x+DsMP6e3k1mPP0/h120QdUYGbDIntNbdHwuHydr40nSU/ykm7sPgePI6w1HrWvMipBGK88HxUtxn5sHTJETImTZ5s241/JMovcjyXV1GMffZ9JUs77M5ZxSOBNdQYtQq9FB8tyg6v9OKtn+XeSX6ghggJfCavskLGGFDo/3HnEdMjCHcEamoH3lBFhEo35MyvJZJ3OEmynXfQmEeS4GnXetz/qIUivi0zYlVUJROftR8XZXJlD8eaCIVSbp6vkUEKVUAhhXkTfS+qFUYBYwISGthEfjG4ay76yTXUS64trFsYMQzw5i2WF+6l31DbF4mk0Uzd3grpoJxwRcDTLpK0zya/hFZ2/ptZ7zRGiaTKMOh0gTgMuvswPWhIO+8iroKBKuo48 -SpamDiagnosticOutput: 1:5 -SpamDiagnosticMetadata: Default -SpamDiagnosticMetadata: 1 -X-MS-Exchange-Inbox-Rules-Loop: takeda@alatur.com -X-Microsoft-Exchange-Diagnostics: 1;ROXPR80MB1722;23:+CW8Fnkmxe2vIIVoLfepjqt3jjHjkKG7EMwbEPkyk53lfWHREEhb+8H6bZel7vUcoKMeDr9EO2kRpPOZcNFD4EufVAed3Kn4VZyoS1NcH4TGFMBpVpb2fBlprZMeK7JMudJodXuWSGvTh3Mr54hvEamndvjZNbgHtNKDcZv0WGj7syJtHhgbWWtUhMM5CMi8 -X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2016 01:10:43.9249 - (UTC) -X-MS-Exchange-CrossTenant-Id: fec095e8-7415-4521-9abe-d8c80dedd2cf -X-MS-Exchange-CrossTenant-FromEntityHeader: Internet -X-MS-Exchange-Transport-CrossTenantHeadersStamped: ROXPR80MB1722 -X-Microsoft-Exchange-Diagnostics: 1;SN2PR80MB334;2:Qd4nKG+m6vSKA4J0J+eQ0fqyXv+5tQ1N1r/MiRgzkiDKDmGIqD1Als01JCM4x98H1j9dxmkQDKGrQWqriX6L98NnApb3Q+Wul/MqgF6BHeQkK3B8C9jkyvvhsKxmGmV2Uy4nqTtHwC4BEi6dAcbyEIcd7Vl5d7SiVCnVxqPTyj16GZlB4XdyNK6FbkS8Zpbj;23:/nPG5t/HQqFprQe6nB6kv4S5III5mvQvrmXMw2m0c6TzVeYNkExNYranMMEkgHsLEkPpQ4DDV9dRKU1do1rybvrePOlRd91tOQKxAiGCztpIfc9PyTJH5u8XK1A5lQEG2tYjIlmhF7K4An7JLsAb7j82GzxHbqKMRBBpjotp7RcePnGNri0Iib3uUwbFhAMP -X-MS-Exchange-Organization-AuthSource: BN1BFFO11FD026.protection.gbl -X-MS-Exchange-Organization-AuthAs: Anonymous -X-MS-Exchange-Transport-EndToEndLatency: 00:00:08.3034891 -X-Microsoft-Exchange-Diagnostics: - 1;CP1PR80MB326;9:W4Die9fw+KCH/ns48QmQTPi6JNrPtCcauQer5AyZ2u1kr08vM2RFq7WKj2oce7vjzcfR+Illls8wyqd0fn80MYTlrYV7fRqh6Db6Uq/hefuvgU/phkFEXwa1iW3E9HzNNX5KeMoASSDPhj/khVRQCwsrXeKiHGCUaHyHIj6OD8o= +Reply-To: +To: Destinatary 1 +From: Test MIME-Version: 1.0 --===============1154471675865193341== @@ -135,62 +44,17 @@ Content-Transfer-Encoding: base64 X-Microsoft-Exchange-Diagnostics: 1;CP1PR80MB326;9:W4Die9fw+KCH/ns48QmQTPi6JNrPtCcauQer5AyZ2u1kr08vM2RFq7WKj2oce7vjzcfR+Illls8wyqd0fn80MYTlrYV7fRqh6Db6Uq/hefuvgU/phkFEXwa1iW3E9HzNNX5KeMoASSDPhj/khVRQCwsrXeKiHGCUaHyHIj6OD8o= -UHJlemFkbyhhKSBQYXVsbyBDZXNhciwKIAogUmVjZW50ZW1lbnRlIGVudmlhbW9zIGEgdm9jw6og -dW0gY29udml0ZSBwYXJhIHBhcnRpY2lwYXIgZGUgbm9zc2EgUGVzcXVpc2EgZGUgU2F0aXNmYcOn -w6NvIHNvYnJlIGEgcXVhbGlkYWRlIGRhIGV4cGVyacOqbmNpYSBkZSBzdWEgaG9zcGVkYWdlbSBu -byBNZXJjdXJlIFNhbyBKb3NlIERvcyBDYW1wb3MgSG90ZWwuCiAKIE5vdGFtb3MgcXVlIHZvY8Oq -IG7Do28gdGV2ZSB0ZW1wbyBwYXJhIGNvbXBsZXRhciBhIHBlc3F1aXNhLiBSZWl0ZXJhbW9zIG5v -c3NvIGludGVyZXNzZSBlbSBjb25oZWNlciBzdWEgb3BpbmnDo28gc29icmUgbm9zc29zIHByb2R1 -dG9zIGUgc2VydmnDp29zLgogCiBQYXJhIHByZWVuY2hlciBhIHBlc3F1aXNhLCBwb3IgZ2VudGls -ZXphIGNsaXF1ZSBubyBlbmRlcmXDp28gYWJhaXhvIG91IGNvcGllIGUgY29sZSBvIGVuZGVyZcOn -byBubyBzZXUgbmF2ZWdhZG9yLgogCiBodHRwczovL2FuYWx5dGljcy50cnVzdHlvdS5jb20vc3Vy -dmV5cy9zaXRlL3Jldmlldz9zdXJ2ZXlfaWQ9OWYzOTZmYzAtZmM2Yi00MjU0LWIyYzAtMjE5Zjc0 -NTRkYWVhJmFjY2Vzc19jb2RlPWQwMzFhZGJkLTA1NDktNGU3YS04YjZmLTA0MDkxOTY1N2M5Ygog -CiAKIE9icmlnYWRvIHBvciBlc2NvbGhlciBhIHJlZGUge2JyYW5kfSBlIGVzcGVyYW1vcyByZXZl -LWxvKGEpIGVtIGJyZXZlLgogCiBBdGVuY2lvc2FtZW50ZSwKIAogTXIgRGVuaXMgTWlvbGkKIEdl -bmVyYWwgTWFuYWdlcgogLS0tCkRlYXIgUGF1bG8gQ2VzYXIgTWludXRpLAogCiBXZSByZWNlbnRs -eSBpbnZpdGVkIHlvdSB0byBjb21wbGV0ZSBhIEd1ZXN0IFNhdGlzZmFjdGlvbiBTdXJ2ZXkgZm9s -bG93aW5nIHlvdXIgc3RheSB3aXRoIHVzIGF0IE1lcmN1cmUgU2FvIEpvc2UgRG9zIENhbXBvcyBI -b3RlbCBvbiAyMDE2LTA1LTIwLiAKIAogV2Ugbm90aWNlZCB0aGF0IHlvdSBoYXZlIG5vdCB5ZXQg -Y29tcGxldGVkIHRoZSBzdXJ2ZXkuIEF0IHticmFuZH0sIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJv -dmlkaW5nIGEgc3VwZXJpb3IgZ3Vlc3QgZXhwZXJpZW5jZSB0byBlYWNoIGFuZCBldmVyeSBvbmUg -b2Ygb3VyIGN1c3RvbWVycyBhbmQgd2Ugd291bGQgdmFsdWUgeW91ciBmZWVkYmFjay4gVG8gY29t -cGxldGUgdGhlIHN1cnZleSwgcGxlYXNlIGNsaWNrIG9uIHRoZSBsaW5rOgogCiBodHRwczovL2Fu -YWx5dGljcy50cnVzdHlvdS5jb20vc3VydmV5cy9zaXRlL3Jldmlldz9zdXJ2ZXlfaWQ9OWYzOTZm -YzAtZmM2Yi00MjU0LWIyYzAtMjE5Zjc0NTRkYWVhJmFjY2Vzc19jb2RlPWQwMzFhZGJkLTA1NDkt -NGU3YS04YjZmLTA0MDkxOTY1N2M5YgogCiBJZiB0aGUgbGluayBkb2VzIG5vdCB3b3JrLCBwbGVh -c2UgY29weSBhbmQgcGFzdGUgdGhlIHdlYiBhZGRyZXNzIGludG8geW91ciBicm93c2VyOgogCiBo -dHRwczovL2FuYWx5dGljcy50cnVzdHlvdS5jb20vc3VydmV5cy9zaXRlL3Jldmlldz9zdXJ2ZXlf -aWQ9OWYzOTZmYzAtZmM2Yi00MjU0LWIyYzAtMjE5Zjc0NTRkYWVhJmFjY2Vzc19jb2RlPWQwMzFh -ZGJkLTA1NDktNGU3YS04YjZmLTA0MDkxOTY1N2M5YgogCiBUaGFuayB5b3UgYWdhaW4gZm9yIGNo -b29zaW5nIHticmFuZH0uIFdlIGxvb2sgZm9yd2FyZCB0byBoZWFyaW5nIGFib3V0IHlvdXIgc3Rh -eSB3aXRoIHVzLgogCiBZb3VycyBzaW5jZXJlbHksCiAKIE1yIERlbmlzIE1pb2xpCiBHZW5lcmFs -IE1hbmFnZXIgLS0tLS0tLS0tCgogCiBQb3IgZ2VudGlsZXphIG7Do28gcmVzcG9uZGEgZGlyZXRh -bWVudGUgw6EgZXN0ZSBjb252aXRlLgogCiBBc3Npc3TDqm5jaWEgVMOpY25pY2E6IENhc28gdGVu -aGEgYWxndW0gcHJvYmxlbWEgbm8gYWNlc3NvIG91IHByZWVuY2hpbWVudG8gZGVzdGEgcGVzcXVp -c2EsIHBvciBnZW50aWxlemEgZW52aWUgdW0gZW1haWwgcGFyYSA6IGNvbnRhY3RfYWNjb3JfZ3Nz -QHRydXN0eW91LmNvbS4KIAogU2UgbsOjbyBkZXNlamEgcmVjZWJlciBtYWlzIGVzdGUgdGlwbyBk -ZSBjb3JyZXNwb25kw6puY2lhIDogQ29udGFtb3MgY29tIG8gZmVlZGJhY2sgZGUgbm9zc29zIGjD -s3NwZWRlcyBwYXJhIGFzc2VndXJhciBxdWUgbm9zc29zIGhvdMOpaXMgY29ycmVzcG9uZGFtIGUg -c3VwZXJlbSBleHBlY3RhdGl2YXMsIG1hcyBjYXNvIG7Do28gZGVzZWplIG1haXMgcmVjZWJlciBj -b252aXRlcyBkbyBNZXJjdXJlIFNhbyBKb3NlIERvcyBDYW1wb3MgSG90ZWwgbm8gZnV0dXJvLCBw -b3IgZ2VudGlsZXphIGNsaXF1ZSBubyBsaW5rIGFiYWl4bzogaHR0cHM6Ly9hbmFseXRpY3MudHJ1 -c3R5b3UuY29tL3N1cnZleXMvc2l0ZS91bnN1YnNjcmliZT9zdXJ2ZXlfaWQ9OWYzOTZmYzAtZmM2 -Yi00MjU0LWIyYzAtMjE5Zjc0NTRkYWVhJmFjY2Vzc19jb2RlPWQwMzFhZGJkLTA1NDktNGU3YS04 -YjZmLTA0MDkxOTY1N2M5YiAuCiAKIFBhcmEgb3V0cmFzIHNvbGljaXRhw6fDtWVzLCBwb3IgZ2Vu -dGlsZXphIHZpc2l0ZSA6IAogd3d3Lm1lcmN1cmUuY29tCiAtLS0KCiAKIFRlY2huaWNhbCBhc3Np -c3RhbmNlOiBpZiB5b3UgbWVldCBhbnkgZGlmZmljdWx0aWVzIHdpdGggYWNjZXNzIG9yIGFuc3dl -cmluZyB0aGUgc3VydmV5LCBwbGVhc2Ugc2VuZCBhbiBlbWFpbCB0bzogc2VydmljZUB0cnVzdHlv -dS5jb20KIAogRm9yIGFueSBvdGhlciBkZW1hbmQsIHBsZWFzZSBjb25zdWx0IG91ciB3ZWJzaXRl -OiB3d3cubWVyY3VyZS5jb20uCiAKIFRoaXMgaXMgYW4gZW1haWwgZ2VuZXJhdGVkIGF1dG9tYXRp -Y2FsbHksIHBsZWFzZSBkbyBub3QgdXNlIHRoZSBmdW5jdGlvbiAiYW5zd2VyIi4KIAogWW91IG1h -eSBhdCBhbnkgdGltZSB1bnN1YnNjcmliZSB0byB0aGUgYWJvdmUgbWVudGlvbmVkIGluZm9ybWF0 -aW9uIGJ5IGNsaWNraW5nIG9uIHRoZSBsaW5rOgogaHR0cHM6Ly9hbmFseXRpY3MudHJ1c3R5b3Uu -Y29tL3N1cnZleXMvc2l0ZS91bnN1YnNjcmliZT9zdXJ2ZXlfaWQ9OWYzOTZmYzAtZmM2Yi00MjU0 -LWIyYzAtMjE5Zjc0NTRkYWVhJmFjY2Vzc19jb2RlPWQwMzFhZGJkLTA1NDktNGU3YS04YjZmLTA0 -MDkxOTY1N2M5Yi4KIAogWW91IG1heSBleGVyY2lzZSB5b3VyIHJpZ2h0IHRvIGFjY2VzcyBhbmQg -cmVjdGlmeSB5b3VyIGRhdGEgYnkgY29udGFjdGluZyBjb250YWN0X2FjY29yX2dzc0B0cnVzdHlv -dS5jb20uCiBQb3dlcmVkIGJ5IFRydXN0WW91wq4gLSB3d3cudHJ1c3R5b3UuY29tIA== +UHJlemFkbyhhKSBDdXN0b21lciwNCiANCiBSZWNlbnRlbWVudGUgZW52aWFtb3MgYSB2b2PDqiB1 +bSBjb252aXRlIHBhcmEgcGFydGljaXBhciBkZSBub3NzYSBQZXNxdWlzYSBkZSBTYXRpc2Zhw6fD +o28gc29icmUgYSBxdWFsaWRhZGUgZGEgZXhwZXJpw6puY2lhIGRlIHN1YSBob3NwZWRhZ2VtLg0K +IA0KIE5vdGFtb3MgcXVlIHZvY8OqIG7Do28gdGV2ZSB0ZW1wbyBwYXJhIGNvbXBsZXRhciBhIHBl +c3F1aXNhLiBSZWl0ZXJhbW9zIG5vc3NvIGludGVyZXNzZSBlbSBjb25oZWNlciBzdWEgb3BpbmnD +o28gc29icmUgbm9zc29zIHByb2R1dG9zIGUgc2VydmnDp29zLg0KIA0KIFBhcmEgcHJlZW5jaGVy +IGEgcGVzcXVpc2EsIHBvciBnZW50aWxlemEgY2xpcXVlIG5vIGVuZGVyZcOnbyBhYmFpeG8gb3Ug +Y29waWUgZSBjb2xlIG8gZW5kZXJlw6dvIG5vIHNldSBuYXZlZ2Fkb3IuDQogDQogT2JyaWdhZG8g +cG9yIGVzY29saGVyIGEgcmVkZSBlIGVzcGVyYW1vcyByZXZlLWxvKGEpIGVtIGJyZXZlLg0KIA0K +IEF0ZW5jaW9zYW1lbnRlLA0KIA0KIFBhcnRuZXINCiBHZW5lcmFsIE1hbmFnZXINCiANCiBQb3Ig +Z2VudGlsZXphIG7Do28gcmVzcG9uZGEgZGlyZXRhbWVudGUgw6EgZXN0ZSBjb252aXRlLg0K --===============1154471675865193341== Content-Type: text/html; charset="utf-8" @@ -198,150 +62,56 @@ Content-Transfer-Encoding: base64 X-Microsoft-Exchange-Diagnostics: 1;CP1PR80MB326;9:W4Die9fw+KCH/ns48QmQTPi6JNrPtCcauQer5AyZ2u1kr08vM2RFq7WKj2oce7vjzcfR+Illls8wyqd0fn80MYTlrYV7fRqh6Db6Uq/hefuvgU/phkFEXwa1iW3E9HzNNX5KeMoASSDPhj/khVRQCwsrXeKiHGCUaHyHIj6OD8o= -PGh0bWw+PGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl -eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+PC9oZWFkPjxib2R5PiAgCTxkaXY+ICA8ZGl2IGFsaWdu -PSJjZW50ZXIiPiAgPHRhYmxlIGFsaWduPSJjZW50ZXIiIGJvcmRlcj0iMCIgY2VsbHNwYWNpbmc9 -IjAiIGNlbGxwYWRkaW5nPSIwIiB3aWR0aD0iNzAwIiBzdHlsZT0id2lkdGg6NTI1LjBwdDtiYWNr -Z3JvdW5kOndoaXRlIj48dGJvZHk+PHRyIHN0eWxlPSJoZWlnaHQ6MjI5LjVwdCI+PHRkIHdpZHRo -PSI3MDAiIHN0eWxlPSJ3aWR0aDo1MjUuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gMGNtO2hlaWdo -dDoyMjkuNXB0Ij4gIDxwPjxpbWcgYm9yZGVyPSIwIiB3aWR0aD0iNzAwIiBoZWlnaHQ9IjMxOCIg -c3JjPSJodHRwczovL2NpNi5nb29nbGV1c2VyY29udGVudC5jb20vcHJveHkvSnJMaFR4eEEzV1Jv -TkhqYTgzVURqQ0RuUVE2ZE5FZV9zbzlodFN0UVNQRkpQaFFQT3dPYlExZkFCUFI0dG9mR3VMUlp5 -RnZoN0lGV1JKRmFEUDQtSGJVd2VfTS0wN3FuSVBPNlVIVTJfeE91b1psdFZJdmJUMmdlNDREVkhz -Um5vMUU9czAtZC1lMS1mdCNodHRwOi8vc3VydmV5Lm1lZGFsbGlhLmNvbS9zZmlsZW1hbmFnZXIv -YTE2YmY2MzU2YjRhMzY5YzEzMDEwOTU3MjhkYThjYjAuanBnIiB0YWJpbmRleD0iMCI+PC9wPjxk -aXYgZGlyPSJsdHIiIHN0eWxlPSJvcGFjaXR5OiAxOyBsZWZ0OiA4MTYuNXB4OyB0b3A6IDg5OS4z -MjgxMjVweDsiPjxkaXYgaWQ9IjoxMjciIHJvbGU9ImJ1dHRvbiIgdGFiaW5kZXg9IjAiIGFyaWEt -bGFiZWw9IkFuaGFuZyAmcXVvdDsmcXVvdDsgaGVydW50ZXJsYWRlbiIgZGF0YS10b29sdGlwLWNs -YXNzPSJhMVYiIGRhdGEtdG9vbHRpcD0iSGVydW50ZXJsYWRlbiI+PGRpdj48L2Rpdj48L2Rpdj48 -L2Rpdj48dT48L3U+PHU+PC91PiAgPC90ZD4gIDwvdHI+PHRyPjx0ZCBzdHlsZT0iY29sb3I6IzVj -MzMzOTsgZm9udC1mYW1pbHk6QXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZToxMC41cHQ7IGxp -bmUtaGVpZ2h0OjE1MCU7IHZlcnRpY2FsLWFsaWduOnRvcCIgdmFsaWduPSJ0b3AiPjxkaXYgc3R5 -bGU9ImJhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTsgcGFkZGluZzoyMC4yNXB0IDQyLjc1cHQgNTEu -NzVwdCA0Mi43NXB0IiBiZ2NvbG9yPSIjZjVmNWY1Ij5QcmV6YWRvKGEpIDxzcGFuIHN0eWxlPSJj -b2xvcjojNWYyNTVmOyBmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OywgJnF1b3Q7c2Fucy1z -ZXJpZiZxdW90OzsgZm9udC1zaXplOjEwLjVwdDsgZm9udC13ZWlnaHQ6Ym9sZDsgbGluZS1oZWln -aHQ6MTUwJSI+UGF1bG8gQ2VzYXI8L3NwYW4+LDxicj48YnI+IFJlY2VudGVtZW50ZSBlbnZpYW1v -cyBhIHZvY8OqIHVtIGNvbnZpdGUgcGFyYSBwYXJ0aWNpcGFyIGRlIG5vc3NhIFBlc3F1aXNhIGRl -IFNhdGlzZmHDp8OjbyBzb2JyZSBhIHF1YWxpZGFkZSBkYSBleHBlcmnDqm5jaWEgZGUgc3VhIGhv -c3BlZGFnZW0gbm8gPHNwYW4gc3R5bGU9ImNvbG9yOiM1ZjI1NWY7IGZvbnQtZmFtaWx5OiZxdW90 -O0FyaWFsJnF1b3Q7LCAmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6MTAuNXB0OyBs -aW5lLWhlaWdodDoxNTAlIj5NZXJjdXJlIFNhbyBKb3NlIERvcyBDYW1wb3MgSG90ZWw8L3NwYW4+ -Ljxicj48YnI+IE5vdGFtb3MgcXVlIHZvY8OqIG7Do28gdGV2ZSB0ZW1wbyBwYXJhIGNvbXBsZXRh -ciBhIHBlc3F1aXNhLiBSZWl0ZXJhbW9zIG5vc3NvIGludGVyZXNzZSBlbSBjb25oZWNlciBzdWEg -b3BpbmnDo28gc29icmUgbm9zc29zIHByb2R1dG9zIGUgc2VydmnDp29zLjxicj48YnI+IFBhcmEg -cHJlZW5jaGVyIGEgcGVzcXVpc2EsIHBvciBnZW50aWxlemEgY2xpcXVlIG5vIGVuZGVyZcOnbyBh -YmFpeG8gb3UgY29waWUgZSBjb2xlIG8gZW5kZXJlw6dvIG5vIHNldSBuYXZlZ2Fkb3IuPGJyPjxi -cj48c3Bhbj48YSBocmVmPSJodHRwczovL2FuYWx5dGljcy50cnVzdHlvdS5jb20vc3VydmV5cy9z -aXRlL3Jldmlldz9zdXJ2ZXlfaWQ9OWYzOTZmYzAtZmM2Yi00MjU0LWIyYzAtMjE5Zjc0NTRkYWVh -JmFtcDthY2Nlc3NfY29kZT1kMDMxYWRiZC0wNTQ5LTRlN2EtOGI2Zi0wNDA5MTk2NTdjOWIiPmh0 -dHBzOi8vYW5hbHl0aWNzLnRydXN0eW91LmNvbS9zdXJ2ZXlzL3NpdGUvcmV2aWV3P3N1cnZleV9p -ZD05ZjM5NmZjMC1mYzZiLTQyNTQtYjJjMC0yMTlmNzQ1NGRhZWEmYW1wO2FjY2Vzc19jb2RlPWQw -MzFhZGJkLTA1NDktNGU3YS04YjZmLTA0MDkxOTY1N2M5YjwvYT48L3NwYW4+PGJyPjxicj48YnI+ -IE9icmlnYWRvIHBvciBlc2NvbGhlciBhIHJlZGUgPHNwYW4+TWVyY3VyZTwvc3Bhbj4gZSBlc3Bl -cmFtb3MgcmV2ZS1sbyhhKSBlbSBicmV2ZS48YnI+PGJyPiBBdGVuY2lvc2FtZW50ZSw8YnI+PGJy -PjxzcGFuIHN0eWxlPSJjb2xvcjojNWYyNTVmOyBmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90 -OywgJnF1b3Q7c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOjEwLjVwdDsgZm9udC13ZWlnaHQ6 -Ym9sZDsgbGluZS1oZWlnaHQ6MTUwJSI+TXIgRGVuaXMgTWlvbGk8L3NwYW4+PGJyPjxzcGFuIHN0 -eWxlPSJjb2xvcjojNWYyNTVmOyBmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OywgJnF1b3Q7 -c2Fucy1zZXJpZiZxdW90OzsgZm9udC1zaXplOjEwLjVwdDsgbGluZS1oZWlnaHQ6MTUwJSI+R2Vu -ZXJhbCBNYW5hZ2VyPC9zcGFuPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9y -OiNlZWU7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkOWQ5ZDk7IGJvcmRlci10b3A6MXB4IHNv -bGlkICNkOWQ5ZDk7IHBhZGRpbmc6MjAuMjVwdCA0Mi43NXB0IDUxLjc1cHQgNDIuNzVwdCIgYmdj -b2xvcj0iI2VlZSI+RGVhciA8c3BhbiBzdHlsZT0iY29sb3I6IzVmMjU1ZjsgZm9udC1mYW1pbHk6 -JnF1b3Q7QXJpYWwmcXVvdDssICZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZToxMC41 -cHQ7IGZvbnQtd2VpZ2h0OmJvbGQ7IGxpbmUtaGVpZ2h0OjE1MCUiPlBhdWxvIENlc2FyPC9zcGFu -PiA8c3BhbiBzdHlsZT0iY29sb3I6IzVmMjU1ZjsgZm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVv -dDssICZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZToxMC41cHQ7IGZvbnQtd2VpZ2h0 -OmJvbGQ7IGxpbmUtaGVpZ2h0OjE1MCUiPk1pbnV0aTwvc3Bhbj4sPGJyPjxicj4gV2UgcmVjZW50 -bHkgaW52aXRlZCB5b3UgdG8gY29tcGxldGUgYSBHdWVzdCBTYXRpc2ZhY3Rpb24gU3VydmV5IGZv -bGxvd2luZyB5b3VyIHN0YXkgd2l0aCB1cyBhdCA8c3BhbiBzdHlsZT0iY29sb3I6IzVmMjU1Zjsg -Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssICZxdW90O3NhbnMtc2VyaWYmcXVvdDs7IGZv -bnQtc2l6ZToxMC41cHQ7IGxpbmUtaGVpZ2h0OjE1MCUiPk1lcmN1cmUgU2FvIEpvc2UgRG9zIENh -bXBvcyBIb3RlbDwvc3Bhbj4gb24gPHNwYW4gc3R5bGU9ImNvbG9yOiM1ZjI1NWY7IGZvbnQtZmFt -aWx5OiZxdW90O0FyaWFsJnF1b3Q7LCAmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6 -MTAuNXB0OyBsaW5lLWhlaWdodDoxNTAlIj4yMDE2LTA1LTIwPC9zcGFuPi4gPGJyPjxicj4gV2Ug -bm90aWNlZCB0aGF0IHlvdSBoYXZlIG5vdCB5ZXQgY29tcGxldGVkIHRoZSBzdXJ2ZXkuIEF0IDxz -cGFuPk1lcmN1cmU8L3NwYW4+LCB3ZSBhcmUgY29tbWl0dGVkIHRvIHByb3ZpZGluZyBhIHN1cGVy -aW9yIGd1ZXN0IGV4cGVyaWVuY2UgdG8gZWFjaCBhbmQgZXZlcnkgb25lIG9mIG91ciBjdXN0b21l -cnMgYW5kIHdlIHdvdWxkIHZhbHVlIHlvdXIgZmVlZGJhY2suIFRvIGNvbXBsZXRlIHRoZSBzdXJ2 -ZXksIHBsZWFzZSBjbGljayBvbiB0aGUgbGluazo8YnI+PGJyPjxzcGFuIHN0eWxlPSJkaXNwbGF5 -OmJsb2NrOyBtYXJnaW4tYm90dG9tOi0xNXB4OyB0ZXh0LWFsaWduOmNlbnRlciIgYWxpZ249ImNl -bnRlciI+PGEgaHJlZj0iaHR0cHM6Ly9hbmFseXRpY3MudHJ1c3R5b3UuY29tL3N1cnZleXMvc2l0 -ZS9yZXZpZXc/c3VydmV5X2lkPTlmMzk2ZmMwLWZjNmItNDI1NC1iMmMwLTIxOWY3NDU0ZGFlYSZh -bXA7YWNjZXNzX2NvZGU9ZDAzMWFkYmQtMDU0OS00ZTdhLThiNmYtMDQwOTE5NjU3YzliIiBzdHls -ZT0iYmFja2dyb3VuZDojNjkwMDNkOyBib3JkZXItcmFkaXVzOjRweDsgY29sb3I6d2hpdGU7IGRp -c3BsYXk6aW5saW5lLWJsb2NrOyBwYWRkaW5nOjEwcHggMjBweDsgdGV4dC1kZWNvcmF0aW9uOm5v -bmUiPkd1ZXN0IFNhdGlzZmFjdGlvbiBTdXJ2ZXk8L2E+PC9zcGFuPjxicj48YnI+IElmIHRoZSBs -aW5rIGRvZXMgbm90IHdvcmssIHBsZWFzZSBjb3B5IGFuZCBwYXN0ZSB0aGUgd2ViIGFkZHJlc3Mg -aW50byB5b3VyIGJyb3dzZXI6PGJyPjxicj48c3Bhbj5odHRwczovL2FuYWx5dGljcy50cnVzdHlv -dS5jb20vc3VydmV5cy9zaXRlL3Jldmlldz9zdXJ2ZXlfaWQ9OWYzOTZmYzAtZmM2Yi00MjU0LWIy -YzAtMjE5Zjc0NTRkYWVhJmFtcDthY2Nlc3NfY29kZT1kMDMxYWRiZC0wNTQ5LTRlN2EtOGI2Zi0w -NDA5MTk2NTdjOWI8L3NwYW4+PGJyPjxicj4gVGhhbmsgeW91IGFnYWluIGZvciBjaG9vc2luZyA8 -c3Bhbj5NZXJjdXJlPC9zcGFuPi4gV2UgbG9vayBmb3J3YXJkIHRvIGhlYXJpbmcgYWJvdXQgeW91 -ciBzdGF5IHdpdGggdXMuPGJyPjxicj4gWW91cnMgc2luY2VyZWx5LDxicj48YnI+PHNwYW4gc3R5 -bGU9ImNvbG9yOiM1ZjI1NWY7IGZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LCAmcXVvdDtz -YW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6MTAuNXB0OyBmb250LXdlaWdodDpib2xkOyBsaW5l -LWhlaWdodDoxNTAlIj5NciBEZW5pcyBNaW9saTwvc3Bhbj48YnI+PHNwYW4gc3R5bGU9ImNvbG9y -OiM1ZjI1NWY7IGZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LCAmcXVvdDtzYW5zLXNlcmlm -JnF1b3Q7OyBmb250LXNpemU6MTAuNXB0OyBsaW5lLWhlaWdodDoxNTAlIj5HZW5lcmFsIE1hbmFn -ZXI8L3NwYW4+IDwvZGl2PjwvdGQ+ICA8L3RyPjx0ciBzdHlsZT0iaGVpZ2h0OjMuNzVwdCI+PHRk -IHN0eWxlPSJiYWNrZ3JvdW5kOiM1ZjI1NWY7cGFkZGluZzowY20gMGNtIDBjbSAwY207aGVpZ2h0 -OjMuNzVwdCI+PC90ZD4gIDwvdHI+PHRyIHN0eWxlPSJoZWlnaHQ6OTkuMHB0Ij48dGQgc3R5bGU9 -ImNvbG9yOiM1ZjI1NWY7IGZvbnQtZmFtaWx5OkFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6 -OC41cHQ7IGhlaWdodDo5OXB0IiBoZWlnaHQ9Ijk5cHQiPjxkaXYgc3R5bGU9ImJhY2tncm91bmQt -Y29sb3I6I2Y1ZjVmNTsgcGFkZGluZzoxMnB0IDI1LjVwdCAxMC41cHQgMjUuNXB0IiBiZ2NvbG9y -PSIjZjVmNWY1Ij48YnI+PGJyPiBQb3IgZ2VudGlsZXphIG7Do28gcmVzcG9uZGEgZGlyZXRhbWVu -dGUgw6EgZXN0ZSBjb252aXRlLjxicj48YnI+IEFzc2lzdMOqbmNpYSBUw6ljbmljYTogQ2FzbyB0 -ZW5oYSBhbGd1bSBwcm9ibGVtYSBubyBhY2Vzc28gb3UgcHJlZW5jaGltZW50byBkZXN0YSBwZXNx -dWlzYSwgcG9yIGdlbnRpbGV6YSBlbnZpZSB1bSBlbWFpbCBwYXJhIDogY29udGFjdF9hY2Nvcl9n -c3NAdHJ1c3R5b3UuY29tLjxicj48YnI+IFNlIG7Do28gZGVzZWphIHJlY2ViZXIgbWFpcyBlc3Rl -IHRpcG8gZGUgY29ycmVzcG9uZMOqbmNpYSA6IENvbnRhbW9zIGNvbSBvIGZlZWRiYWNrIGRlIG5v -c3NvcyBow7NzcGVkZXMgcGFyYSBhc3NlZ3VyYXIgcXVlIG5vc3NvcyBob3TDqWlzIGNvcnJlc3Bv -bmRhbSBlIHN1cGVyZW0gZXhwZWN0YXRpdmFzLCBtYXMgY2FzbyBuw6NvIGRlc2VqZSBtYWlzIHJl -Y2ViZXIgY29udml0ZXMgZG8gPHNwYW4gc3R5bGU9ImNvbG9yOiM1ZjI1NWY7IGZvbnQtZmFtaWx5 -OiZxdW90O0FyaWFsJnF1b3Q7LCAmcXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6MTAu -NXB0OyBsaW5lLWhlaWdodDoxNTAlIj5NZXJjdXJlIFNhbyBKb3NlIERvcyBDYW1wb3MgSG90ZWw8 -L3NwYW4+IG5vIGZ1dHVybywgcG9yIGdlbnRpbGV6YSBjbGlxdWUgbm8gbGluayBhYmFpeG86IDxz -cGFuPjxhIGhyZWY9IiU3QnVuc3Vic2NyaWJlJTdEIj5odHRwczovL2FuYWx5dGljcy50cnVzdHlv -dS5jb20vc3VydmV5cy9zaXRlL3Vuc3Vic2NyaWJlP3N1cnZleV9pZD05ZjM5NmZjMC1mYzZiLTQy -NTQtYjJjMC0yMTlmNzQ1NGRhZWEmYW1wO2FjY2Vzc19jb2RlPWQwMzFhZGJkLTA1NDktNGU3YS04 -YjZmLTA0MDkxOTY1N2M5YjwvYT48L3NwYW4+IC48YnI+PGJyPiBQYXJhIG91dHJhcyBzb2xpY2l0 -YcOnw7VlcywgcG9yIGdlbnRpbGV6YSB2aXNpdGUgOiA8YnI+IHd3dy5tZXJjdXJlLmNvbTxicj48 -L2Rpdj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7IGJvcmRlci1ib3R0b206MXB4 -IHNvbGlkICNkOWQ5ZDk7IGJvcmRlci10b3A6MXB4IHNvbGlkICNkOWQ5ZDk7IHBhZGRpbmc6MTJw -dCAyNS41cHQgMTAuNXB0IDI1LjVwdCIgYmdjb2xvcj0iI2VlZSI+PGJyPjxicj4gVGVjaG5pY2Fs -IGFzc2lzdGFuY2U6IGlmIHlvdSBtZWV0IGFueSBkaWZmaWN1bHRpZXMgd2l0aCBhY2Nlc3Mgb3Ig -YW5zd2VyaW5nIHRoZSBzdXJ2ZXksIHBsZWFzZSBzZW5kIGFuIGVtYWlsIHRvOiBzZXJ2aWNlQHRy -dXN0eW91LmNvbTxicj48YnI+IEZvciBhbnkgb3RoZXIgZGVtYW5kLCBwbGVhc2UgY29uc3VsdCBv -dXIgd2Vic2l0ZTogd3d3Lm1lcmN1cmUuY29tLjxicj48YnI+IFRoaXMgaXMgYW4gZW1haWwgZ2Vu -ZXJhdGVkIGF1dG9tYXRpY2FsbHksIHBsZWFzZSBkbyBub3QgdXNlIHRoZSBmdW5jdGlvbiAmcXVv -dDthbnN3ZXImcXVvdDsuPGJyPjxicj4gWW91IG1heSBhdCBhbnkgdGltZSB1bnN1YnNjcmliZSB0 -byB0aGUgYWJvdmUgbWVudGlvbmVkIGluZm9ybWF0aW9uIGJ5IGNsaWNraW5nIG9uIHRoZSBsaW5r -Ojxicj48c3Bhbj48YSBocmVmPSJodHRwczovL2FuYWx5dGljcy50cnVzdHlvdS5jb20vc3VydmV5 -cy9zaXRlL3Vuc3Vic2NyaWJlP3N1cnZleV9pZD05ZjM5NmZjMC1mYzZiLTQyNTQtYjJjMC0yMTlm -NzQ1NGRhZWEmYW1wO2FjY2Vzc19jb2RlPWQwMzFhZGJkLTA1NDktNGU3YS04YjZmLTA0MDkxOTY1 -N2M5YiI+aHR0cHM6Ly9hbmFseXRpY3MudHJ1c3R5b3UuY29tL3N1cnZleXMvc2l0ZS91bnN1YnNj -cmliZT9zdXJ2ZXlfaWQ9OWYzOTZmYzAtZmM2Yi00MjU0LWIyYzAtMjE5Zjc0NTRkYWVhJmFtcDth -Y2Nlc3NfY29kZT1kMDMxYWRiZC0wNTQ5LTRlN2EtOGI2Zi0wNDA5MTk2NTdjOWI8L2E+PC9zcGFu -Pi48YnI+PGJyPiBZb3UgbWF5IGV4ZXJjaXNlIHlvdXIgcmlnaHQgdG8gYWNjZXNzIGFuZCByZWN0 -aWZ5IHlvdXIgZGF0YSBieSBjb250YWN0aW5nIGNvbnRhY3RfYWNjb3JfZ3NzQHRydXN0eW91LmNv -bS48YnI+IFBvd2VyZWQgYnkgVHJ1c3RZb3XCriAtIHd3dy50cnVzdHlvdS5jb20gPC9kaXY+PC90 -ZD4gIDwvdHI+PHRyIHN0eWxlPSJoZWlnaHQ6MzIuMjVwdCI+PHRkIHN0eWxlPSJiYWNrZ3JvdW5k -OiNlM2U0ZTQ7cGFkZGluZzowY20gMGNtIDBjbSAwY207aGVpZ2h0OjMyLjI1cHQiPiAgPHAgYWxp -Z249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBzdHlsZT0iZm9udC1m -YW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjp3aGl0 -ZSI+PGltZyBib3JkZXI9IjAiIHdpZHRoPSI3MDAiIGhlaWdodD0iODMiIHNyYz0iaHR0cDovL25w -aWNzLnRydXN0eW91LmNvbS9pbWcvc3VydmV5LzE0MzUxMzM1OTkvZm9vdGVyLW1lcmN1cmUuanBn -Ij48dT48L3U+PHU+PC91Pjwvc3Bhbj48L3A+ICA8L3RkPiAgPC90cj48dHIgc3R5bGU9ImhlaWdo -dDozMi4yNXB0Ij48dGQgc3R5bGU9ImJhY2tncm91bmQ6IzVmMjU1ZjtwYWRkaW5nOjBjbSAwY20g -MGNtIDBjbTtoZWlnaHQ6MzIuMjVwdCI+ICA8cCBhbGlnbj0iY2VudGVyIiBzdHlsZT0idGV4dC1h -bGlnbjpjZW50ZXIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1 -b3Q7QXJpYWwmcXVvdDssJnF1b3Q7c2Fucy1zZXJpZiZxdW90Oztjb2xvcjp3aGl0ZSI+Rm9yIGFs -bCBvdGhlciByZXF1ZXN0cywgcGxlYXNlIHZpc2l0ICA8YSBocmVmPSJodHRwOi8vd3d3LmFjY29y -aG90ZWxzLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjxzcGFuIHN0eWxlPSJjb2xvcjp3aGl0ZTt0ZXh0 -LWRlY29yYXRpb246bm9uZSI+aHR0cDovL3d3dy5hY2NvcmhvdGVscy5jb208L3NwYW4+PC9hPjx1 -PjwvdT48dT48L3U+PC9zcGFuPjwvcD4gIDwvdGQ+ICA8L3RyPjwvdGJvZHk+PC90YWJsZT48L2Rp -dj4gIDwvZGl2PiAgPC9ib2R5PjwvaHRtbD4= +PGh0bWw+DQogICA8aGVhZD4NCiAgICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg +Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCiAgIDwvaGVhZD4NCiAgIDxib2R5 +Pg0KICAgPGJvZHk+DQogICAgICA8ZGl2Pg0KICAgICAgICAgPGRpdiBhbGlnbj0iY2VudGVyIj4N +CiAgICAgICAgICAgIDx0YWJsZSBhbGlnbj0iY2VudGVyIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5n +PSIwIiBjZWxscGFkZGluZz0iMCIgd2lkdGg9IjcwMCIgc3R5bGU9IndpZHRoOjUyNS4wcHQ7YmFj +a2dyb3VuZDp3aGl0ZSI+DQogICAgICAgICAgICAgICA8dGJvZHk+DQogICAgICAgICAgICAgICAg +ICA8dHIgc3R5bGU9ImhlaWdodDoyMjkuNXB0Ij4NCiAgICAgICAgICAgICAgICAgICAgIDx0ZCB3 +aWR0aD0iNzAwIiBzdHlsZT0id2lkdGg6NTI1LjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDBjbTto +ZWlnaHQ6MjI5LjVwdCI+DQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIiBz +dHlsZT0ib3BhY2l0eTogMTsgbGVmdDogODE2LjVweDsgdG9wOiA4OTkuMzI4MTI1cHg7Ij4NCiAg +ICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9IjoxMjciIHJvbGU9ImJ1dHRvbiIgdGFi +aW5kZXg9IjAiIGFyaWEtbGFiZWw9IkFuaGFuZyAmcXVvdDsmcXVvdDsgaGVydW50ZXJsYWRlbiIg +ZGF0YS10b29sdGlwLWNsYXNzPSJhMVYiIGRhdGEtdG9vbHRpcD0iSGVydW50ZXJsYWRlbiI+DQog +ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PjwvZGl2Pg0KICAgICAgICAgICAgICAg +ICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAg +ICAgICAgICAgICAgICAgICAgIDx1PjwvdT48dT48L3U+ICANCiAgICAgICAgICAgICAgICAgICAg +IDwvdGQ+DQogICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgICAgPHRyPg0K +ICAgICAgICAgICAgICAgICAgICAgPHRkIHN0eWxlPSJjb2xvcjojNWMzMzM5OyBmb250LWZhbWls +eTpBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOjEwLjVwdDsgbGluZS1oZWlnaHQ6MTUwJTsg +dmVydGljYWwtYWxpZ246dG9wIiB2YWxpZ249InRvcCI+DQogICAgICAgICAgICAgICAgICAgICAg +ICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7IHBhZGRpbmc6MjAuMjVwdCA0 +Mi43NXB0IDUxLjc1cHQgNDIuNzVwdCIgYmdjb2xvcj0iI2Y1ZjVmNSI+UHJlemFkbyhhKSA8c3Bh +biBzdHlsZT0iY29sb3I6IzVmMjU1ZjsgZm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssICZx +dW90O3NhbnMtc2VyaWYmcXVvdDs7IGZvbnQtc2l6ZToxMC41cHQ7IGZvbnQtd2VpZ2h0OmJvbGQ7 +IGxpbmUtaGVpZ2h0OjE1MCUiPkN1c3RvbWVyPC9zcGFuPiw8YnI+PGJyPiBSZWNlbnRlbWVudGUg +ZW52aWFtb3MgYSB2b2PDqiB1bSBjb252aXRlIHBhcmEgcGFydGljaXBhciBkZSBub3NzYSBQZXNx +dWlzYSBkZSBTYXRpc2Zhw6fDo28gc29icmUgYSBxdWFsaWRhZGUgZGEgZXhwZXJpw6puY2lhIGRl +IHN1YSBob3NwZWRhZ2VtLjxicj48YnI+IE5vdGFtb3MgcXVlIHZvY8OqIG7Do28gdGV2ZSB0ZW1w +byBwYXJhIGNvbXBsZXRhciBhIHBlc3F1aXNhLiBSZWl0ZXJhbW9zIG5vc3NvIGludGVyZXNzZSBl +bSBjb25oZWNlciBzdWEgb3BpbmnDo28gc29icmUgbm9zc29zIHByb2R1dG9zIGUgc2VydmnDp29z +Ljxicj48YnI+PGJyPjxicj4gT2JyaWdhZG8gcG9yIGVzY29saGVyIGEgcmVkZSBlIGVzcGVyYW1v +cyByZXZlLWxvKGEpIGVtIGJyZXZlLjxicj48YnI+IEF0ZW5jaW9zYW1lbnRlLDxicj48YnI+PHNw +YW4gc3R5bGU9ImNvbG9yOiM1ZjI1NWY7IGZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LCAm +cXVvdDtzYW5zLXNlcmlmJnF1b3Q7OyBmb250LXNpemU6MTAuNXB0OyBmb250LXdlaWdodDpib2xk +OyBsaW5lLWhlaWdodDoxNTAlIj5QYXJ0bmVyPC9zcGFuPjxicj48c3BhbiBzdHlsZT0iY29sb3I6 +IzVmMjU1ZjsgZm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssICZxdW90O3NhbnMtc2VyaWYm +cXVvdDs7IGZvbnQtc2l6ZToxMC41cHQ7IGxpbmUtaGVpZ2h0OjE1MCUiPkdlbmVyYWwgTWFuYWdl +cjwvc3Bhbj48YnI+PC9kaXY+DQogICAgICAgICAgICAgICAgICAgICA8L3RkPg0KICAgICAgICAg +ICAgICAgICAgPC90cj4NCiAgICAgICAgICAgICAgICAgIDx0ciBzdHlsZT0iaGVpZ2h0Ojk5LjBw +dCI+DQogICAgICAgICAgICAgICAgICAgICA8dGQgc3R5bGU9ImNvbG9yOiM1ZjI1NWY7IGZvbnQt +ZmFtaWx5OkFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6OC41cHQ7IGhlaWdodDo5OXB0IiBo +ZWlnaHQ9Ijk5cHQiPg0KICAgICAgICAgICAgICAgICAgICAgPC90ZD4NCiAgICAgICAgICAgICAg +ICAgIDwvdHI+DQogICAgICAgICAgICAgICAgICA8dHIgc3R5bGU9ImhlaWdodDozMi4yNXB0Ij4N +CiAgICAgICAgICAgICAgICAgICAgIDx0ZCBzdHlsZT0iYmFja2dyb3VuZDojZTNlNGU0O3BhZGRp +bmc6MGNtIDBjbSAwY20gMGNtO2hlaWdodDozMi4yNXB0Ij4NCiAgICAgICAgICAgICAgICAgICAg +ICAgIDxwIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+PHNwYW4gc3R5 +bGU9ImZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LCZxdW90O3NhbnMtc2VyaWYmcXVvdDs7 +Y29sb3I6d2hpdGUiPjx1PjwvdT48dT48L3U+PC9zcGFuPjwvcD4NCiAgICAgICAgICAgICAgICAg +ICAgIDwvdGQ+DQogICAgICAgICAgICAgICAgICA8L3RyPg0KICAgICAgICAgICAgICAgPC90Ym9k +eT4NCiAgICAgICAgICAgIDwvdGFibGU+DQogICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0K +ICAgPC9ib2R5Pg0KPC9odG1sPg== --===============1154471675865193341==-- diff --git a/Class Library/ActiveUp.Net.Tests/resource/multipart_with_type_using_camel_case.eml b/Class Library/ActiveUp.Net.Tests/resource/multipart_with_type_using_camel_case.eml index 29d141e..0c5f794 100644 --- a/Class Library/ActiveUp.Net.Tests/resource/multipart_with_type_using_camel_case.eml +++ b/Class Library/ActiveUp.Net.Tests/resource/multipart_with_type_using_camel_case.eml @@ -1,31 +1,31 @@ -Received: from CP1PR80MB328.lamprd80.prod.outlook.com (10.242.255.12) by - SN2PR80MB334.lamprd80.prod.outlook.com (10.141.41.24) with Microsoft SMTP +Received: from CP1PR80MB328.server.com (10.242.255.12) by + SN2PR80MB334.server.com (10.141.41.24) with Microsoft SMTP Server (TLS) id 15.1.506.9 via Mailbox Transport; Thu, 2 Jun 2016 10:52:10 +0000 -Received: from ROXPR80MB1722.lamprd80.prod.outlook.com (10.165.255.20) by - CP1PR80MB328.lamprd80.prod.outlook.com (10.242.255.12) with Microsoft SMTP +Received: from ROXPR80MB1722.server.com (10.165.255.20) by + CP1PR80MB328.server.com (10.242.255.12) with Microsoft SMTP Server (TLS) id 15.1.506.9; Thu, 2 Jun 2016 10:52:08 +0000 -Received: from CP1PR80CA003.lamprd80.prod.outlook.com (10.242.251.13) by - ROXPR80MB1722.lamprd80.prod.outlook.com (10.165.255.20) with Microsoft SMTP +Received: from CP1PR80CA003.server.com (10.242.251.13) by + ROXPR80MB1722.server.com (10.165.255.20) with Microsoft SMTP Server (TLS) id 15.1.506.9; Thu, 2 Jun 2016 10:52:00 +0000 Received: from BY2FFO11FD019.protection.gbl (2a01:111:f400:7c0c::168) by - CP1PR80CA003.outlook.office365.com (2a01:111:e400:1c20::13) with Microsoft + CP1PR80CA003.outlook.server.com (2a01:111:e400:1c20::13) with Microsoft SMTP Server (TLS) id 15.1.511.8 via Frontend Transport; Thu, 2 Jun 2016 10:52:00 +0000 -Authentication-Results: spf=pass (sender IP is 177.85.102.28) - smtp.mailfrom=exposicaohotel.com.br; domain-test.com; dkim=pass (signature was - verified) header.d=exposicaohotel.com.br;domain-test.com; dmarc=bestguesspass - action=none header.from=exposicaohotel.com.br; -Received-SPF: Pass (protection.outlook.com: domain of exposicaohotel.com.br - designates 177.85.102.28 as permitted sender) - receiver=protection.outlook.com; client-ip=177.85.102.28; - helo=mail-alt4.hserv20.homehost.com.br; -Received: from mail-alt4.hserv20.homehost.com.br (177.85.102.28) by +Authentication-Results: spf=pass (sender IP is 177.85.100.22) + smtp.mailfrom=hotel.com.br; domain-test.com; dkim=pass (signature was + verified) header.d=hotel.com.br;domain-test.com; dmarc=bestguesspass + action=none header.from=hotel.com.br; +Received-SPF: Pass (protection.outlook.com: domain of hotel.com.br + designates 177.85.100.22 as permitted sender) + receiver=protection.outlook.com; client-ip=177.85.100.22; + helo=mail-alt4.hserv20.serverhost.com; +Received: from mail-alt4.hserv20.serverhost.com (177.85.100.22) by BY2FFO11FD019.mail.protection.outlook.com (10.1.14.107) with Microsoft SMTP Server (TLS) id 15.1.497.8 via Frontend Transport; Thu, 2 Jun 2016 10:51:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=exposicaohotel.com.br; s=default; h=Reply-To:Subject:To:References:From: + d=hotel.com.br; s=default; h=Reply-To:Subject:To:References:From: Content-Type:Date:Message-Id:MIME-Version:Sender:Cc:Content-Transfer-Encoding :Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:List-Id:List-Help: @@ -34,7 +34,7 @@ DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; gqROq1+fpQFW6JZAWrS9gOusJspb4Q/4vR5mvEdEhuwEY7pmpoEOwVRoNcCU0ayv+vtzXikInX22b PdfyQw+3oLj/fGN8rrHGFzanVV4FvJOBouRcHUBXqcgE8PrA5sn1k75725aRDu2D5E4Q=; Received: from [201.73.215.250] (port=51190 helo=Expo-PC) - by hserv20.homehost.com.br with esmtpa (Exim 4.87) + by hserv20.serverhost.com with esmtpa (Exim 4.87) (envelope-from ) id 1b8QEF-00017c-HWw for user@domain-test.com; Thu, 02 Jun 2016 07:51:57 -0300 @@ -46,27 +46,27 @@ Content-Type: Multipart/related; boundary="------------Boundary-00=_FU45QL80000000000000" X-Mailer: IncrediMail (6395274) From: "client@clientdomain.com.br" -References: - +References: + X-FID: B433CDFE-B71C-42C2-A5C1-D34C076A9851 To: Subject: =?utf-8?B?UmVzOiBTb2xpY2l0YcOnw6NvIGRlIHJlc2VydmE=?= Reply-To: "client@clientdomain.com.br" X-AntiAbuse: This header was added to track abuse, please include it with any abuse report -X-AntiAbuse: Primary Hostname - hserv20.homehost.com.br +X-AntiAbuse: Primary Hostname - hserv20.serverhost.com X-AntiAbuse: Original Domain - domain-test.com X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] -X-AntiAbuse: Sender Address Domain - exposicaohotel.com.br -X-Get-Message-Sender-Via: hserv20.homehost.com.br: authenticated_id: client@clientdomain.com.br -X-Authenticated-Sender: hserv20.homehost.com.br: client@clientdomain.com.br +X-AntiAbuse: Sender Address Domain - hotel.com.br +X-Get-Message-Sender-Via: hserv20.serverhost.com: authenticated_id: client@clientdomain.com.br +X-Authenticated-Sender: hserv20.serverhost.com: client@clientdomain.com.br Return-Path: client@clientdomain.com.br X-MS-Exchange-Organization-Network-Message-Id: deaffae8-8112-422b-c05f-08d38ad3ec1d X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: fec095e8-7415-4521-9abe-d8c80dedd2cf:0 X-MS-Exchange-Organization-MessageDirectionality: Incoming -X-Forefront-Antispam-Report: CIP:177.85.102.28;IPV:NLI;CTRY:BR;EFV:NLI;SFV:NSPM;SFS:(2980300002)(438002)(199003)(189002)(5008740100001)(189998001)(15187005004)(586003)(15975445007)(45086001)(50986999)(76176999)(53806999)(8896002)(81686999)(6806005)(17760045003)(104016004)(71366001)(575784001)(50196002)(86582002)(86362001)(450100001)(1096003)(33716001)(19618635001)(93156004)(110136002)(5001970100001)(33656002)(512874002)(43066003)(19625215002)(107886002)(19627595001)(3450700001)(66926002)(118556001)(11100500001)(93146003)(9686002)(19617315012)(18926415007)(74482002)(50226002)(224303003)(2351001)(18206015028)(229853001)(9786002)(106466001)(956001)(19580405001)(19580395003)(23676002)(19300405004)(19273905006)(19627145002)(69996001)(65006003)(562774006)(19607625011);DIR:INB;SFP:;SCL:1;SRVR:ROXPR80MB1722;H:mail-alt4.hserv20.homehost.com.br;FPR:;SPF:Pass;MLV:nov;A:1;MX:1;PTR:mail-alt4.hserv20.homehost.com.br;LANG:pt; +X-Forefront-Antispam-Report: CIP:177.85.100.22;IPV:NLI;CTRY:BR;EFV:NLI;SFV:NSPM;SFS:(2980300002)(438002)(199003)(189002)(5008740100001)(189998001)(15187005004)(586003)(15975445007)(45086001)(50986999)(76176999)(53806999)(8896002)(81686999)(6806005)(17760045003)(104016004)(71366001)(575784001)(50196002)(86582002)(86362001)(450100001)(1096003)(33716001)(19618635001)(93156004)(110136002)(5001970100001)(33656002)(512874002)(43066003)(19625215002)(107886002)(19627595001)(3450700001)(66926002)(118556001)(11100500001)(93146003)(9686002)(19617315012)(18926415007)(74482002)(50226002)(224303003)(2351001)(18206015028)(229853001)(9786002)(106466001)(956001)(19580405001)(19580395003)(23676002)(19300405004)(19273905006)(19627145002)(69996001)(65006003)(562774006)(19607625011);DIR:INB;SFP:;SCL:1;SRVR:ROXPR80MB1722;H:mail-alt4.hserv20.serverhost.com;FPR:;SPF:Pass;MLV:nov;A:1;MX:1;PTR:mail-alt4.hserv20.serverhost.com;LANG:pt; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11FD019;1:pu1e6n2+9EZG5RsXUUuNtps33i2evVK3axPv/eoB/VGA6d3W28aZS/xdlLGFa5rd2zRQs68t190HnGPK8ELewMBMC4EOkbD0+eR0cY9XUpEtmfFNiaGe6OiNwtJaBEcD7kRrH1hpKZxYB9lfnf0qtnlmrefPFRLc3NQWtXeZ1q5oRx+ZQeCGmApECOIjHDFkNnylxrVtVtYEz2MGKiqr2OmgmbPEvRE7DDw3wnsnt0Jr+Qe9XvU+KEW6jOQyv0nJrAcbXwVYVEXY+6YNXo3pwMa1AUxRQLF0xYw3jtaOZLwGTk0KInBLpZr86P2k6wjFA3+3L7e3NM69xPJ2el4GNRKQ7Z4iJoNtTjMUXz5zzsoqcbpV+mizjbkpYUreNotEpuomZswfxGLdOz7AjQ4JXK2TTrT+VNPfmmT6L5nnhyMHnwPvAU1oYDzfVhb9a86H7ICI9zs2mdpCpE29Ap3cQAGsMSyRBdtDDlM8QfSWkZE= -X-MS-Office365-Filtering-Correlation-Id: deaffae8-8112-422b-c05f-08d38ad3ec1d +X-MS-server-Filtering-Correlation-Id: deaffae8-8112-422b-c05f-08d38ad3ec1d X-Microsoft-Exchange-Diagnostics: 1;ROXPR80MB1722;2:0qoKYW0qh4AEh5jOD8we0ZotX1lZL09tA3xjyvq4INkcdMKBQZ8VN6HroqHiCMyg84/r6juy2ndydsLcvNqw1O+uAc71qOx6Nghd0K8jv1u5OCO/FFvaS/Dw83svzNKWeq7i6OB+lj2yCfEepWJngXAkUcgrkaZJCdr/F+t2VkWgPnLCQ5hfWNOcXiwGbdJY;3:Z2PCBXuALfjKlx/agYpx8mE5diXcZBDlkP+Gh4NgVzGvKZ0wl+55YqZ7OrITOhwEF9iWD5PM7zgLnAMo7C5DWjMlgYEai1prks/VajhebifE6qqEn+TDmKKhrTqntxJWRGj3DKP4lcyQpqcTHjWJbTqbeuudzOIsaEcQ1EwKFvjZl0lr3u/PngpdzUq4d0LpZimfVLHrBhAU4IqrRKxaQPlgHU+QluswQ7XrCPphac754zDP+rO1qdLnihhJkUcX7oFJL3XzFiqmF829bqsL9wh04X8Z9oLF2n9Hdd6zdCJn1RxkyTUutji92mb3tJotTnlCKJHt3UzKbvTcFuQJbg== X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002)(3001016)(71701004)(71702002);SRVR:ROXPR80MB1722; @@ -160,6 +160,7 @@ RESERVA EFETUADA COM SUCESSO. =0D De: user@domain-test.com=0D Data: 01/06/2016 17:08:59=0D Para: client@clientdomain.com.br=0D +Para: client@clientdomain.com.br=0D Assunto: Solicita=C3=A7=C3=A3o de reserva=0D =0D Boa tarde,=0D @@ -167,50 +168,10 @@ Boa tarde,=0D Favor reservar conforme abaixo.=0D enterpriseSolicita=C3=A7=C3=A3o de Reserva =0D =0D -DADOS DA RESERVA=0D -TIPONOMEDATA DA RESERVA=0D -AdultoCUSTOMER NAME01/06/2016=0D -=0D -HOTEL=0D -CLIENT HOTEL=0D -Address number 0, Iguatu, Brasil=0D -Telefone: 88-8888-8888 / Fax: 88-8888-8888=0D - =0D -=0D -CHECK INCHECK OUTTIPO DE TARIFAN=C2=BA DE H=C3=93SPEDES=0D -13/06/201614/06/2016Tarifa Cliente1=0D -=0D - =0D -N=C2=BA DE NOITESDI=C3=81RIA M=C3=89DIATAXA DE SERVI=C3=87OISSTAXA DE TUR= -ISMOTOTAL ESTIMADO=0D -1R$ 150,80--R$ 0,00R$ 150,80=0D -=0D -INFORMA=C3=87=C3=95ES DE PAGAMENTO=0D -FORMA DE PAGAMENTO=0D -Pagamento Direto=0D -=0D -INFORMA=C3=87=C3=95ES PARA PAGAMENTO/FATURAMENTO=0D -OBSERVA=C3=87=C3=95ES=0D -A cobran=C3=A7a devera ser enviada de forma completa: EXTRATO, RPS, NOTA = -FISCAL -assinados com descri=C3=A7=C3=A3o dos servi=C3=A7os cobrados (ainda que s= -eja eletronica,o -envio de uma Nota Fiscal impressa por passageiro =C3=A9 obrigatoria). =0D -SOLICITA=C3=87AO DE RESERVA E BOLETO BANCARIO dentro do prazo. =0D -DADOS PARA FATURAMENTO - Dados da Ag=C3=AAncia: Enterprise Viagens e Turismo = -S.A. - -Unidade: Matriz CNPJ:10.219.666/0000-00 IATA:00503000 - Av Yojiro Takaoka= -, -4384, Centro - Santana do Parnaiba - S=C3=A3o Paulo/SP. =0D -ENDERE=C3=87O DE COBRAN=C3=87A - Cx Postal 52564, Depto de Faturamento, C= -EP: 08010-971 -- S=C3=A3o Paulo/SP. =0D -=0D -=0D DADOS DE GARANTIA=0D TIPO / AGENCIATITULARBANDEIRAN=C3=9AMEROEXPIRA=C3=87=C3=83OC=C3=93D. SEG.= =0D -Nome: ENTERPRISE JTB =0D +Nome: ENTERPRISE XPTO =0D =0D INFORMA=C3=87=C3=95ES ADICIONAIS=0D AG=C3=8ANCIATELEFONEEMAILRESPONS=C3=81VELORDEM DE SERVI=C3=87OPROCESSO CO= @@ -223,7 +184,7 @@ Atenciosamente , =0D NAME LASTNAME=0D user@domain-test.com =0D Atendimento Posto Virtual Enterprise=0D -Enterprise JTB=0D +Enterprise XPTO=0D telefone +1132170000=0D direto +1132170000=0D celular +55 =0D @@ -493,42 +454,6 @@ if; COLOR: rgb(244,165,51)">- 57)">Pagamento Direto -INFORMA=C3=87=C3=95ES PARA PAGAMENTO/FATURAMENTO<= -/tr> - - - - - - - -
OBSERVA=C3=87=C3=95ES
-
    -
  • A cobran=C3=A7a devera ser enviada de forma completa: EXTRATO, RPS,= - NOTA FISCAL assinados com descri=C3=A7=C3=A3o dos servi=C3=A7os cobrados (= -ainda que seja eletronica,o envio de uma Nota Fiscal impressa por passageir= -o =C3=A9 obrigatoria).=20 -
  • SOLICITA=C3=87AO DE RESERVA E BOLETO BANCARIO dentro do prazo.=20 -
  • DADOS PARA FATURAMENTO - Dados da Ag=C3=AAncia: Enterprise Viagens e Tu= -rismo S.A. - Unidade: Matriz CNPJ:10.219.666/0000-00 IATA:57503515 - Av Yoj= -iro Takaoka, 4384, Centro - Santana do Parnaiba - S=C3=A3o Paulo/SP.= -=20 -
  • ENDERE=C3=87O DE COBRAN=C3=87A - Cx Postal 52564, Depto de Faturame= -nto, CEP: 08010-971 - S=C3=A3o Paulo/SP.
- DADOS DE GARANTIA @@ -640,10 +565,10 @@ er=3D"0" cellspacing=3D"0" cellpadding=3D"0"> user@domain-test.com=20 -

Atendimento Posto Virtual Enterprise
Enterprise JTB
telefone +11321790= -42
direto +1132179042
celular +55 
emergencial <= -a href=3D"tel:%2B55%2011%203217-6322" target=3D"_blank">+55 11 3217-6322

+

Atendimento Posto Virtual Enterprise
Enterprise JTB
telefone +66669999= +42
direto +1166669999
celular +55 
emergencial <= +a href=3D"tel:%2B55%2011%6666-9999" target=3D"_blank">+11 6666-9999

  3D"" @@ -810,173 +735,6 @@ l>= --------------Boundary-00=_FU45LVC0000000000000-- ---------------Boundary-00=_FU45QL80000000000000 -Content-Type: image/jpeg; - name="Assinatura_Samara1.jpg" -Content-Transfer-Encoding: base64 -Content-ID: <2F66EF6C-A1E0-446C-A57F-F466A334A38D> -X-Microsoft-Exchange-Diagnostics: - 1;SN2PR80MB334;9:5vHBq0HE3rHLVWA1J7CzIO9zZ6Fplyoh1k7HNPXSFTQNPWltYN798ux9i2OcKMCPKhdWrXVObu7vjIxmBZ/fSjklDEZHXAbl2X1ww2ZxitfadtvD0UVvp+p86FxBFlHdACVt3elnFywc2M+Vn3dHcFewoCBguB+WOlxGzCFbLs8= - -/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a -HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy -MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACAAY8DASIA -AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA -AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 -ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm -p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA -AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx -BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK -U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 -uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii -gAooooAKqTwRTahCJYkkAifG5QccrVuq7f8AIQi/65P/ADWgA+w2f/PrB/37FH2Gz/59YP8Av2Ks -UUAV/sNn/wA+sH/fsUfYbP8A59YP+/YqxWbrOpHTrUMi5kc7V9uOtRUqRpxc5bIqEHOSjHdlr7DZ -/wDPrB/37FH2Gz/59YP+/YrnrfU71UVpZ8k/M2QPlUf5/Q1Le+IX+yQi3XbNKM5PO2ub67T5XJ6G -/wBVqOXKjc+w2f8Az6wf9+xR9hs/+fWD/v2KwI9WurZA0su8IMvkdSeg/wA+vtUmp67Jujhs22uc -FmI6cU3jaajzMSw03KyNv7DZ/wDPrB/37FH2Gz/59YP+/YrIttWljkCztlchDkfxf5z+VU73Vri7 -1HybeRo40JBwcZ570SxtOMU/wCOGnJ2Oj+w2f/PrB/37FH2Gz/59YP8Av2KxrXWGilUTuSkhOM9g -O/8AnuDXQA5AI6Gt6VWNRXRlODg7Mg+w2f8Az6wf9+xR9hs/+fWD/v2KsUVoQV/sNn/z6wf9+xR9 -hs/+fWD/AL9irFFAFBLG0/tCYfZYMeVH/wAsx6vU/wBhs/8An1g/79ihP+QhN/1yj/m9WKAK/wBh -s/8An1g/79ij7DZ/8+sH/fsVYooAr/YbP/n1g/79ij7DZ/8APrB/37FWKKAK/wBhs/8An1g/79ij -7DZ/8+sH/fsVYooAr/YbP/n1g/79ij7DZ/8APrB/37FWKKAK/wBhs/8An1g/79ij7DZ/8+sH/fsV -YooAr/YbP/n1g/79ij7DZ/8APrB/37FWKKAK/wBhs/8An1g/79ij7DZ/8+sH/fsVYooAr/YbP/n1 -g/79ij7DZ/8APrB/37FWKKAK/wBhs/8An1g/79ij7DZ/8+sH/fsVYooAr/YbP/n1g/79ij7DZ/8A -PrB/37FWKKAKa28EOoxGKGOMmGTJVQM8pVyq7/8AIQh/65SfzSrFABRRRQAUUUUAFFFFABRRRQAV -Xb/kIRf9cn/mtWKrt/yEIv8Ark/81oAsUUUUAFc/4pA8i2LfdDnOOvSugrn/ABSzLawY6b+eK5Md -/u8jown8aJiSyEoEfguA8oH8Kdl/l+lFxIubWUoDlCdq9Cc8D+Q/CqZkLDBJ+Y5Y9yasTyFIrYpw -Qufoe36c/jXgKpzRk/T8z2PZ8rS9fyJJpNrBWOfLO58/xSHoPw/xpZNseoySHG2NFI9zgY/X9M1S -LghV/hHP1NW52jW881jkKobaR1IGAP8APamp8yb81+onT5XbyZKwDzpEzEBBlj33twPy/oajj4uZ -1U5eSQoB6DPJ/p+dRRsxuIl+85bc+e5P/wBb+dI0gWaYIMSOduSfu/3v8PpVOd438/0EoO9vL9SS -d4phKzZKY2p/urzn8Tj8zXcwHMEZ/wBkV55K26OXYcKqFVz3/wA8mvQ7f/j2i/3R/KvWy2XNTb8z -zsdHlml5ElFFFeicQUUUUAV0/wCQhN/1yj/m9WKrp/yEJv8ArlH/ADepJ54baJpZ5UiiX7zyMFA+ -pNAElFNjljmjWSJ1eNhlWU5BHsadQAUUUUAFFRXN1BZwNNcSpFGvVmOKi07UINUsY7q3PyOASpIL -IcZw2CcHkcUAWqKbHLHMgeN1dCSAynI44NOoAKKKKACiiigAooooAKKKKACiiigAooooArv/AMhC -H/rlJ/NKsVXf/kIQ/wDXKT+aVYoAKKKKACiiigAooooAKKKKACq7f8hCL/rk/wDNasVXb/kIRf8A -XJ/5rQBYooooAKwfE4jNvAZGwoYnA6tx0reri/iH4LHjCwtUEs6PbOzKsThd2QBySD6VlXp+1puH -c0pT9nNS7GVtLfMAAD0q3OEa0t5HbgIcDuxzXBf8KXuvW9/8Cl/+IqK6+DOoC1cwy3SSqPkMk4df -oQFB/L8jXmxyrlTXNud0swu17ux2wBGDj3qzfHN4W9Qp5+gr57mXXfCOrgSNPa3KdDnKuP5MK9O0 -D4j2OuuIdQRbO/YKoyf3b4AHBPQn0P5muavl86VN8rujopY2NSaurHZW7MbhSBliwP170k+TPKef -vHP50sAZLiM9PmFZniLxLp2iqPtcoVycpDH8zyMe4H8u1ccacp0rJa3OmU1Gpd7WLrAtDKAQPkOM -/wCfSvRrfi3iH+yP5V4PY6h4j1/WYTDC1paq+RaKu6Rx0/eH+Ee3X2717vah1tYhIMOFAI9697AU -J0aXLPc8fGVo1al47E1FFFdxyBRRRQBXT/kITf8AXKP+b1zPxCjtX0eyN3O1skd4jrO1uJ4Y2Ctj -zUJ+4c4z2JFdMn/IQm/65R/zeqfiG6tdO0a41C7E7R2yFgkMrIzk8BRtIyScAZ9aAPL5fEV5p/hW -3j05zpzg3ksLWo2W9yUYEMgkVmwSSRGMA88gVtLqWu3+qpt1m6ghm1YWXlxRx4WI2wkJBKk53dD2 -rqdKuNI1TTdPvEnuYjfITFFJeyBywBLLjdyVwc49DT1ufDzqGXV1IYIQRqT8hzhSPn7ngetAHAv4 -v1gwaKx1CdLoQ27yowREnDTFGO3YS52jnBUL168VdudZ1aHRRdT6zeJJeajPBFjy40iWNpQq7yjE -ZwOxJwAK724sbG1tpbiaW6SKJC7sbuXhQMk/erF0bWdE1bw6dallurG3Rykour2RTEQeATvxyCpH -1FAGJ4ivZdS+GOg3t9JF5ss9nJPJNFvQHI3F0GMjrkcdxRp1w88ujafo+r2kUFzdT/aZdKslgU7Y -gwG1t3PA59DWzaa94auLaW4m1M2sS3EsMbTak4EoRgpdTv5ByPzFWmvdFk8n7FeNeB7pbVzFqbfu -2IJ5y/J46DmgDjbXXby3t7CK41SbS7YxzyQm2tFb7ROLp12bQvPy4OBgndnNaukeIr67+IJsxezP -aPJdRSW8u392Y8bcKFyvfBLEsOcCtmfVfD/2K6nstSF69tGJHii1UghSQASS+AOepqeXVvD2myXb -tqgaexjaWaH7czsoA5yhbryPxIoA6Gise38VaFcQQSDVbNDND54R51DBNu4kjPYA5+hqJ/GOhCfT -4otQt5/t8jxQNFKpXcoyQTnjnA+rCgDdorKsfEOn3mmpePdW8PyRtKhuEbyi/wB0EqSOc8c89qsW -2r6beX01lbX9tNdQf62GOUM6duQDkUAXaKKKACiiigAooooAKKKKAK7/APIQh/65SfzSrFV3/wCQ -hD/1yk/mlWKACiiigAooooAKKKKACiiigAqu3/IQi/65P/NasVheJtbHhyyl1Z7WS5itbd3kSNgG -25XJGeDQBu0VzEXi2c3NnHcaJdRQ3LhDMsscghJzjeFbIBIxnGM961R4h0YwTT/2rZ+VC4jlfz12 -o5/hJzwfagDSorOh1/R55zBFqlm8ofYUWZSd393GevtUkusabBdi1lv7ZLjIXy2lAbJ6DHqaALtF -UbjWdMtLg29xqFtFMMZR5QpGemcnvT11TT2nuIBe25lthunTzBmIerDt+NAGT4l8H6X4ms3gvLdG -J5BxyD6g9j7188+M/hpqnheSSaFHurAc7wPmQf7QHUe4/HFfTdpqthfkrZ3kE7AbiscgY49celVL -S/tNet50kt2QRu0bK7o3I4PKM2Me/NAHzl4Z8QeK308WlrOotw2IrmdN7R+oT++fbnHtXoXhn4az -3c41C/eYSScyXE5zNJ9P7g9h+ddxoukeGItRdrGe2uLnGQokDFVHoPQe1XPEHiP/AIR+402I2Etw -t9OLdGjdVCOQT82T0wDyPSojTjFtxW5Upykkmy9pei2Oj24hs4FQDqccmtCudvfFkdl4g0/SzZyu -t7E8yXAdQiqmN2QTn+Je3Oa1BrOmm7Fp9vtvtBbb5XmDdu64x6+1WSXqKym8TaEjMraxYBlJBBuF -4wcHv68Uv/CS6H5hj/tix3iTyiv2hch8429evtQBqUVWttRsr2aeK1u4ZpIG2SpG4Yxt6MB0NWaA -K6f8hCb/AK5R/wA3rD8YabNq8Gn2guJre1F0s1xJBEzyYQEqFARh9/afm9O9bif8hCb/AK5R/wA3 -rN8Q3s9vLpFpbyGN72/SJnHUIqtIw/EJt/GgDj7bQ9S0qe2ayne6js7+W4t/tdtOrFJYyrhtsWAQ -7FgAMHPaoLbw1fwT+Hrg+SZNFhSNVNncETkk79x8vjA5Xg85PFQReK9cFrqsrajNukt2ktmeJNsh -+0eWDb4XptKr8/O5gemTW5oWuakZ9KF3czyCS/utPlinVRKuFLx+ZtAXeAmMrwQ/egC/rhvdc8Mz -6Y5eCa6k8uZ4rWfCwF+duY+WKcYPGSecVgSeGru0nuDY3dzdwm4tr1FvrSUFpoiQVbZEAFK7eQM5 -Ucd639eu9T07xPpU0epSCxubpLeSDyk8qMEHhzy5dmK7SMAY59+ZfX/ENla38WoXd9Bqc6pJbQlY -WUxtcBMRbQfnwQo3Z5INAEkfhm7dLppxGJJ4dRUKlpcbUe4KlcZj6DBB/rVuPQZYtSguF3LFHcWU -pUWk4OIYmRv+WfUlhj29KRdb18+HdLnW7UbdWFrdtMo+0bftARY2AG3dtPzEfh1zXZJr1hcSajBa -zCW5sFJnj2sNpwcDJGD0PSgDgD4UuRosFmjBZU0l7JiLS4AMjTJJn/V9MK3vk9KsS6Beyaxqkkbv -BZXcd0NiwXLq7SqQD5bRnY2Tlirc46Cqlr4k10wWlpJqkkkmqxafMLgRoGtvPkZXVOMYwoxnOKjl -8Xa2yW8T3t2iWUE81zdW8MTFxHcGLe6tjKhV5C4JJ9qANKDRr5LDVGKxxX9zYW1tCRZzOqNGGDZL -RcAgjnB+nFRafoWoWd5bXbLvdNSlunV47mQiOSFYz85iyWBBPQA8dKv6F4h1C+8ZTLc3N0lpJd3V -pbxeXGYX8roAQd4bALEnIOcdq72gDzax8MNbz+Hmkll8mzgiS/jSznxM8OTEV+TkBmJOcdBVvw5o -V1aa1pwm2C20/wC0+RKltMsk/mnP7wsgVcD3OTiu+ooAKKKKACiiigAooooAKKKKAK7/APIQh/65 -SfzSrFV3/wCQhD/1yk/mlWKACiiigAooooAKKKKACiiigArjviSHk8HarBFFLLNPYyxRxxRs7MxK -4AAGa7GqNxAZr9FMrBWhcFQBjqvtQBwGnXFtpt4ptodSvJb9oozHOk7LEq5+ZpJB8oAYnGeo4HNR -6hIqasdesra6/s2W4WK6sxbv5juOFudmM/KcduQA3UCu/wD7EtdgTnaDnG1cfyqQaXEA4Dthxhvl -Xn9KQzhLHTm1e81y0ZphaT6ikozCyNIqxwnIZvVkIyAcYNV4rWe28J6zpOoQzy6lKLlVjWNj9okk -dikgbGMYKck/LjnGK9Di0yKBw8bsrAYBCr0/KnSaespy8rEnr8q/4UCPNZre9t7e7a2vLlbx4kFz -bzWv2i3vpViVdy/Ln5sAHDDBHI4pNTgvr6bWcW0pkd9OlmhVSRMkZ3TRoej8ZGAeenevSjpkZAG9 -uBjhV6flSDTYkZXDNlRxhV4/SgDk59Xs4tPOo2K3F3fxQvGs0cDkBmIwh4z94AkY42nOKwLjTNQs -bXW9E08sf7S0/wA2CREZV85QEkUseA0iqDyeua9DttCgt9/lu4R+duB3/CrJ0yNkRC7FUOVG1eP0 -ouxnC6jILldEewjnSa0vRO+6JoxbwhGBjOQME5C7R9egzVrx4XuV8LqYbhmXUUmlMKOfLURuMll+ -6MsO9dgdMjLBt7ZHI+Vf8KdPYi5j8uaVnT0Kr/hQI881GzaLxvoDBblx9iuFklYyyxxsxjKDcxIG -drd+1VRa3A+HcuiSRT/2z5QhVNjYE4bJmL4xjd8+7P68V6VJpkUqIjuzKn3QVXj9KV9Njf70jH/g -K/4UAcMsIk8S2UXksLZtOkiJEJEeDKh25xt5UE4qpayfZrjV/P8Atj2rahcH7CLJmE4YKFI+Xpkd -ScflXor6ekgQNIxCfdG1eP0pr6XFI7O7sWYYJ2rz+lAHGaVqQ0zWdalkgu3aS/8A3caQOfNJiiUE -HGNuVbLdBg130ciyxh0OVPeqR0iA/wAR6Y+6vT8quQxCGMIDkDpwB/KgCNP+QhN/1yj/AJvVHXNK -uNTFi9rPFDNZ3K3CGSMsCRkEcEdVZh+NXk/5CE3/AFyj/m9c/wCOf7Xh0mG80UXD3UMhQwwk/Osi -MgJA67WZW9ttMCJPAloi3SBbQpcoUZWilIRd2/CDzfkG7DfLjkCn23hOezurBra6tVhtJJbjDQyO -0kzrtLsWkJY4Lck9xXKGLxhbaPd3wfUprzT7hbGGEs/+kRhHjM23+LLSK27n7me1HleMLTSLy+36 -lPeabOtlDDuc/akUOhl2/wAWTIjbuf8AV+1AHY3HhRbnWU1aV7RrtWVs+TIFZlGFYp5u0sATgkZF -VY/AdnFBcQqLXZOApBjmPlgNvAjPm/IA3OFxzWf4bfxBZx36aj9vmuYz/ZtmzqzJIyB2E7Z4w2VG -4+gGaxNP/wCEkOg3WyXWjfn7MIVdZhtutx3kl+PLx94fcwBjrQB20XhfydNi09ZLU28U63IDQyFj -KH372Yy5Y7ueTzWqYdTIIN3Z4P8A06N/8cry+7u9RMVpavN4jW8/sZ3EUbS+Z9sEhAZwP4d2cE/L -jHbFaqnxF/wkUfnnVv7S+2xcRhvsn2Tyxv8A+me7O7rzuxQBrSeENN0vTbmKWWygtrmSJWZklBVg -37sI3m5TDHgLjBNPvPBlgNPgW5ayjtbGNsExyqPLzuYOfN+ZSRk7s81y+mHxCLC7gK6tMwms2Nw4 -uFYnzxvBR84O3JbYSmKnjvr1Y9ZikXxBca3HHP8AaoYpWEKq0uIymQcfJyPLGcBu+KAOp0jRNPm1 -c6/Z3Nlcs7MS8CuU3EAMVHmFQxwASBniuiS7t5LuW1SZGuIlV5IweVDZwSPfB/KvLrU6utnFHfnX -v7JS/uNxtVuBMVMaGHGf3hTcX698Z9KF07xEY7jUrkakmqxWWnYMJceY/mtvDBeHIU8jkDJoA9WJ -CqSSAAMkntSRSxzRJLE6vG6hldTkMD0IPcV5lNBrl5qd3bt/bJupZbxLsEuLb7MUYQ+Wfu5zsxt+ -bO7NUtOTXo5dDhgOrQwpbWiwK0c5AYMROrjhccY+fouNvagD1a1u7e9g862mSWLcy7kORlSVI/Ag -j8Kmrz6B9UtPAd3p9naX8Wol7qdWSFgQn2pshT/fKMSo6nqKq3TTG3s/K/4SoaJ51xvP737QX2r5 -WMfvPLzvxu79eMUAel1DdXUFjay3V1KkMES7nkc4Cj1NeZCz8UXKLJfT6vHdJ/ZqEQSSKvzkrOcL -wSF+8ex5q/djUD4C1vRpLbU7i4Y3qWzSRvIWiWTCAseSSCMeoHtQB6IDkZFFeYx22rXtyttbS6/F -pUmpQKWleVJgvkyed8x+YJu2c9M9O1emooRFUEkKMZJyfzoAWiiigCu//IQh/wCuUn80qxVd/wDk -IQ/9cpP5pVigAooooAKKKKACiiigAooooAKrt/yEIv8Ark/81qxVdv8AkIRf9cn/AJrQBYooooAK -5G90jxFJqt9NFdB7OWVjBAb2SLaDHEFOVGQAyynaODvB7YrrWYKMsQB6k1St9Vt7i+ubVXXdBtyc -9cjtUucYtJvcpRbTaWxx2peHvGM73EVlq/kRzSOPO+1uWjjabeCqkYBCgJ16E81I/hzxPdpLPNq0 -8F09oh2w3ziIXILbgAFGEIK47gj657sHIyOlFUSck+k+Izpawm8V2+0zSvGt1IjtGxk2J5uCRt3R -9B/CaPDOk+I9O1m+k1W8FxZSAfZwbp5Gj4UYwQAckMc8dcV1hYKMsQB6mqKarbvqctiHXekYfOeD -k9P5fnUynGNrvcpRcr2Rxt3oXjiSR/s2qwxI008gDXUjBQ0QVQPlzhXyQOgz0OK1tI0vxNabxdah -FIxtTGrvI0gWTzZGB2n0RkGc/wAPfrXVAggEHINLVEnm0fhrx6sES/28qsISjf6UzEZLZAJTknKk -MRlNuACDmt7wtpfiex1C4l13UIrmB4I1RUlZgrhVBwCB3DEk5Jz2rqHlSMZd1XvycVV07U4NRtRP -GwALFdpPPBxUucU+W+pSjJrmtoXaM0UVRIUUUUAV0/5CE3/XKP8Am9Udfv8ARtNtoZtaERieTy4t -8BlJcgnAABOSFP5VeT/kITf9co/5vWbr+ny3s+kyxxSyfYrwXJWMKd2EZcfMy4+/nPPSgCgNX8G+ -bdRlbFWtkd5S1ptACY3YJXDEZAIGSDSPq/hCOyF3Jb26RmUwhG09hJvA3EeXs3cDnOOlYcfgy5ju -r4i2kMEwuDCJIYnZDMcndumKkDJGABnPJ4qAeCNRWyhVUnE0E7yRREAwRo6BCigz7h03fexnjGKA -Oin1rwXbz+TItkW2JISlmWUI+NrFgpAByOSafe6p4Q0/zftENqPJlaGTZZF9rKoZvuqeAGBJ6DPN -UbLw0ba11S0k0+6kt7+zhtCqrCuwJGUyP3nfOR6VnXPg/U5dCtNOVrslRObx5VjIuJJeTIVEw+Ze -cZyOelAG+lx4Pk1gQpbWbXZTZvFodmCvmbd+3Znb82M5xWHJ4k083SCDQdNaKR1WKJo2E0u4blHE -ZRXK/MEZs45O3sz/AIQ2+OpxXPlzxqsKxStBHGkkgEXl7WIm2svflSe2azv7L8QwvBbfY7+J0ujd -7YbSORfNMRjJEvmgADOVyPlzznFAHYQ6r4QuLqK2jhtGmljWRFFnkHKbwuQuNxXnbnOO1VYdS8CI -k9/CliyuYvMlW1LcvnYv3eCefl6juKzLHwjd2Wqx3sOnvFCrJOtu2yQxyrEEAD+aAVGAc7Qe3Gaq -P4V1vTNPW3skup2m1K2vXZ4YvkmDZkfAk+6cA7eMY60AdJLrfguGyhu3Sz8qZnVQLIlwU+/lAu5d -vfIGKsJe+FJNSSwjgs5J327SlpuTLLvUbwu0EryBnOK59fC2sQsby2MqanObgXUjQRNEyzFSdq+d -lSu0YyTnvS23hC6stb0+8tYLmKG0SFMqsazSLGgTYzCYKynAJypI6A4oA0rTXPCr2mnteQadFPeR -rIFiti6KGbapLbBtBPALYyasrqvg5pbuPZZKbSN5JS9ptXarbWKsVwwB4+UnmsXTPDOs6MbUafJc -RD7PDb3TNBCzOI3ZgUzLhSQxByD69arP4J1G5uLuS8e7laeCWES7IzJ80qyIzEzEHaUAwABigDVu -/EPheKOxntrC1mgnvPss2bQrJEfLZx+7KbiTgYGOc8Vbl1vwXBBazOLER3UfmxsLTOEzjc2F+QZ4 -y2OaoW/h7U21WHVb+KeW9+2pdS+VFEiFUiaJVUGUkfeySSaonwdqcVl9mtjcRrPZvY3ZeGJt0TSO -+U/e/K37xhzkd8UAa0Wv+FDLqST2EEIsrsWn/HmXMrFc/KAuT0bgZ4XPQirmnXGi6prU1nbaZYSW -y2cN1HcLEp3iQuMYx/sfrXP3nhC/lmneCGZUF4t5bpIiHafKETK5WYEggAjGCCO+a0NK0LUdGuFm -s4JlP2a3t2BiiwQjszkDzeN28genvQBdXV/BjSXaYsB9lRnlZrXC7VO1irFcNg8fLnmrQ8aeH1tE -nF6wRpDCE+zybw4XcV2bdwOOeRzXOjwxq50m50d5LoabhjaokEO9GMolVnYyndtIxgbcg81NbeHd -S/tiLV76KeW9+1NPN5UcSIR5BhVVBlJGAc5JOaAOm0nxLpGuSvFp12JnSNZSPLZco2QGGQMjII46 -EYrM0zxzpd39pju5Ba3EElyChVyCkLEMQ23BO0bioyQDWdpWgapo/wBke1jnE1vp8NjuaKIghJC7 -Njze4JHt15qk3hHVJTJFN57Woe8lhRYYgyyXAdfmbzeQoc8YGTQB2Wn6pZ6w9veWMrS27RyBXMbL -uwU5G4DI9+lalZemRPbxafbvG8bQWpiw+3J27Bn5SR29a1KACiiigAooooAKKKKACiiigAqu3/IQ -i/65P/NasVXb/kIRf9cn/mtAFiiiigCve28NzaSRTxeZGQcrjr9PeuN0zwvcQahbT3lur27sd0Yb -JT03etd1RXNWwsK0oylujopYmpSjKMdmIAFAAGAOlLRRXSc5HPDHcQvFMgeNhgqRnNcNb+Frhb6K -5ltgbRpuYd3zKmeCf0rvaK5q+FhWacuh0UcTOimo9RqIsaKiKFVRgADgCnUUV0nOZHiLT11DTHRY -PNuBgRY4Kknrn0rL8OeHn02/lN5CruFDRSg5A9R9a6uiuaeFpyqqq90dEcTONJ0lswooorpOcKKK -KAK6f8hCb/rlH/N6sVXT/kITf9co/wCb1YoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii -igAooooAKKKKAK7/APIQh/65SfzSrFV3/wCQhD/1yk/mlWKACiiigAooooAKKKKACiiigAqu3/IQ -i/65P/NasVUnnig1CEyypGDE+N7AZ5WgC3RVf7fZ/wDP3B/38FH2+z/5+4P+/goAsUVX+32f/P3B -/wB/BR9vs/8An7g/7+CgCxRVf7fZ/wDP3B/38FH2+z/5+4P+/goAsUVX+32f/P3B/wB/BR9vs/8A -n7g/7+CgCxRVf7fZ/wDP3B/38FH2+z/5+4P+/goAsUVX+32f/P3B/wB/BR9vs/8An7g/7+CgCxRV -f7fZ/wDP3B/38FH2+z/5+4P+/goAsUVX+32f/P3B/wB/BR9vs/8An7g/7+CgAT/kITf9co/5vViq -CX1p/aEx+1QY8qP/AJaD1ep/t9n/AM/cH/fwUAWKKr/b7P8A5+4P+/go+32f/P3B/wB/BQBYoqv9 -vs/+fuD/AL+Cj7fZ/wDP3B/38FAFiiq/2+z/AOfuD/v4KPt9n/z9wf8AfwUAWKKr/b7P/n7g/wC/ -go+32f8Az9wf9/BQBYoqv9vs/wDn7g/7+Cj7fZ/8/cH/AH8FAFiiq/2+z/5+4P8Av4KPt9n/AM/c -H/fwUAWKKr/b7P8A5+4P+/go+32f/P3B/wB/BQBYoqv9vs/+fuD/AL+Cj7fZ/wDP3B/38FAFiiq/ -2+z/AOfuD/v4KPt9n/z9wf8AfwUAWKKr/b7P/n7g/wC/go+32f8Az9wf9/BQAP8A8hCH/rlJ/NKs -VTW4gm1GIRTRyEQyZCsDjlKuUAFFFFABRRRQB//Z - --------------Boundary-00=_FU45QL80000000000000 Content-Type: image/jpeg; name="608-1041a.jpg" diff --git a/Class Library/ActiveUp.Net.Tests/resource/only_header.eml b/Class Library/ActiveUp.Net.Tests/resource/only_header.eml new file mode 100644 index 0000000..57d9e12 --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/resource/only_header.eml @@ -0,0 +1,39 @@ +Received: (qmail 54705 invoked by uid 89); 28 Aug 2017 14:51:48 -0300 +Delivered-To: postseller@destinatary.com.br +Received: (qmail 54686 invoked from network); 28 Aug 2017 14:51:47 -0300 +Received: by simscan 1.4.0 ppid: 54607, pid: 54648, t: 2.9204s + scanners: clamav: 0.99.2/m:/d:23727 spam: 3.4.1 +X-Spam-Checker-Version: SpamAssassin: -last, FreeBSD Brasil LTDA rulesets: Yes +X-Spam-Status: No, hits=-1.6 required=5.0 +Received: from unknown ([200.147.97.220]) + (envelope-sender ) + by color.serveru.us (qmail-ldap-1.03) with SMTP + for ; 28 Aug 2017 14:51:44 -0300 +Received: from localhost (localhost.localdomain [127.0.0.1]) + by a4-salsa1.host.com.br (Postfix) with ESMTP id C56FB380009F + for ; Mon, 28 Aug 2017 14:55:45 -0300 (BRT) +Received: from a4-salsa1.host.intranet (localhost.localdomain [127.0.0.1]) + by a4-salsa1.host.com.br (Postfix) with ESMTP id AD4CF380009B + for ; Mon, 28 Aug 2017 14:55:45 -0300 (BRT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=host.com.br; s=afl; + t=1503942945; bh=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN/XKdLCPjaYaY=; + h=Date:From:To:In-Reply-To:References:Subject; + b=ikMN+aVF4eIDnS6T6mrnzUNHPBtTqrZJgTuZh3dPK/WqrE5JQzp6izefol5kMNHyi + 1CLGtQ3UutOWtdD1g2JsugJD0SrwuVGxQ9bkcTZX6zRkkETnPKJj/Y6XBxHrSZhWEd + 2Zq0nQLoGZOwDDzwWoHHUpnKasVy7TXHp8/NrBO4= +Received: from localhost (a4-winter6.host.intranet [10.131.133.132]) + by a4-salsa1.host.intranet (Postfix) with ESMTP id A51303800081 + for ; Mon, 28 Aug 2017 14:55:45 -0300 (BRT) +Date: Mon, 28 Aug 2017 14:55:45 -0300 +From: "sender@host.com.br" +To: "postseller@destinatary.com.br" +Message-ID: <59a459219e757_52803fc2847231301918b@a4-winter6.mail> +In-Reply-To: +References: +Subject: I'm put all my text message on subject, then no has body in this e-mail. + second line exists too. +Mime-Version: 1.0 +Content-Type: text/html +Content-Transfer-Encoding: 7bit +X-SenderIP: 200.164.35.146 +X-SIG5: d41d8cd98f00b204e9800998ecf8427e diff --git a/Class Library/ActiveUp.Net.Tests/resource/only_header_2.eml b/Class Library/ActiveUp.Net.Tests/resource/only_header_2.eml new file mode 100644 index 0000000..55765ed --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/resource/only_header_2.eml @@ -0,0 +1,70 @@ +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hostway.travel; + s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; + bh=47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=; + b=JIAhrdolQUVfO4Q3xKUZ2UqFmDgMuG7QPLpz6Jch9jBiwpcdzzwFuGSC0ys1xQm3dfOyM54NieAyJ9Mv64LGU4VxN1ewKMDIgdz1zleYnRwMnfO6p4yokx25ubyb02BCI1MAUXflRLBsU0LJ5kKyX/fZgRAtAU3UmyFL23tu0+Q= +Resent-From: +Received: from CP2PR80CA0150.lamprd80.prod.outlook.com (10.165.252.16) by + RO1PR80MB0106.lamprd80.prod.outlook.com (10.164.233.15) with Microsoft SMTP + Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id + 15.20.218.12; Tue, 14 Nov 2017 12:53:11 +0000 +Received: from CY1NAM02FT029.eop-nam02.prod.protection.outlook.com + (2a01:111:f400:7e45::200) by CP2PR80CA0150.outlook.office365.com + (2603:10d6:102:2d::16) with Microsoft SMTP Server (version=TLS1_2, + cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.218.12 via Frontend + Transport; Tue, 14 Nov 2017 12:53:10 +0000 +Authentication-Results: spf=none (sender IP is 154.16.167.2) + smtp.mailfrom=abidos.com.br; hostwayviagens.com.br; dkim=none (message not + signed) header.d=none;hostwayviagens.com.br; dmarc=none action=none + header.from=abidos.com.br; +Received-SPF: None (protection.outlook.com: abidos.com.br does not designate + permitted sender hosts) +Received: from mail.supermercadodeofertas.com.br (154.16.167.2) by + CY1NAM02FT029.mail.protection.outlook.com (10.152.75.143) with Microsoft SMTP + Server id 15.20.197.9 via Frontend Transport; Tue, 14 Nov 2017 12:53:09 +0000 +From: Faculdade Faveni +To: "vipdesk@hostwayviagens.com.br" +Subject: =?UTF-8?B?Q29uY2x1YSBzdWEgcG9zIGVtIDYgbWVzZXMhISE=?= +Date: Tue, 14 Nov 2017 12:53:08 +0000 +X-Ref-1: Cvl5H O6K +Reply-To: +Return-Path: parceiro@abidos.com.br +List-Unsubscribe: +Content-Type: text/html; charset="iso-8859-1" +Content-Transfer-Encoding: base64 +Message-ID: +X-EOPAttributedMessage: 0 +X-EOPTenantAttributedMessage: c709a8cf-ebee-4c19-a146-0139aa7878ea:0 +X-Forefront-Antispam-Report: + CIP:154.16.167.2;IPV:NLI;CTRY:US;EFV:NLI;SFV:SPM;SFS:(6009001)(5340300001)(2980300002)(1130300004)(428002)(596005)(359002)(189002)(199003)(349900001)(349012);DIR:INB;SFP:;SCL:9;SRVR:RO1PR80MB0106;H:mail.supermercadodeofertas.com.br;FPR:;SPF:None;PTR:mail.supermercadodeofertas.com.br;MX:1;A:1;CAT:BULK;LANG:pt; +X-Microsoft-Exchange-Diagnostics: 1;CY1NAM02FT029;1:5iB2mHzYdLSfWpys5C1W2zYscpk7aAsHRSBTdlDvUaPaquE3BTfEQ6v29UtYzPw28TC9xq5OWwgs80FBDoL69UzudG+bYPmtah5+svLY6iWkQXUcaYj6GRIsOyQRBPeK +MIME-Version: 1.0 +X-MS-PublicTrafficType: Email +X-MS-Office365-Filtering-Correlation-Id: dd2959b8-1db5-444a-02ac-08d52b5ea8ad +X-Microsoft-Antispam: + UriScan:;BCL:9;PCL:0;RULEID:(22001)(23075)(4534020)(71702078);SRVR:RO1PR80MB0106; +X-Microsoft-Exchange-Diagnostics: + 1;RO1PR80MB0106;3:xoefwlKJjTJXRhA6nBdPYy8mcZlnCisNRM26nnqvxtLr34Rr8N9LYA6wVBlJ3j7Pxn54VC4oXoWFU83rJ/cuy0tS1zUDMwGn400tJ3c+YoiRw8vyP1hdbrkie7Jh2PX3rTjkDcdPr7oFjfiue9RzfZdQ2otBpdbPlShWwTWCGSbURgtmproncI/YXM38wMoXaSI3Xi/n1rO8cxrUGNNGYUR63Opq8U1jss1ZWb4W3zqNb09+jbsx+UjP9c2sHTnKO5hIo2o2dPY5UxXHwagcCuJCrI2uoYDRyn119ZpCiF1FRtlMlIgBznOY1q7aHVcwd+2wOwHOQlOPuC88xmGngHVBXlr4u9FMcK96YT1uHko=;25:V5iGET4bRVrZX9tNaiw8Dil2OmzW5LHAI2fL/e0epIXUTFVk+8gGu4AhEVB4Oinj+3wbsXVvN0H1i8wrIQSnsx7dPDXUvTyfKgxI+QWMUgqqXYqMqR23f2QeqM1wIH2H3RzZTbXadSg148FMgIaKwlCVnKR1PULqz4HvDD5+u2aCc11/2JoIHwjUmRv+ZIux2jrzcuZiGbIrffa5BDn7R3+xDhgpVAinurpxxHUMFVo=;31:qnRgXldjWhbO3o3iYsqxA7Qxt8j1WwT8tw4JDPz2UWV+uZwGDBlWlOZpe7x25MX2emyjhCFInwcNhtC+eLTA8S0x5q+DkzfweLZ3s+gTUGl9vGgXuDE3OgQfxb1cl4L+ +X-MS-TrafficTypeDiagnostic: RO1PR80MB0106:|RO1PR80MB0106: +X-Microsoft-Exchange-Diagnostics: + 1;RO1PR80MB0106;20:1821yRltUnu9mEUaLRVdk8YldWGUdO0olj4O9ow92ogkH7WxhTlFaqRCpbv4JmP1oPjvqiGEfj+/OhYbn8UyMCX0B5s8gQMmPeWLQj6K563C0Bzxkvrt1t/zjTwloeVQJGeyeOO2DrwLqmX0TcyoQ3MoPCcLN9pd5/6hJr/zye3zGnd6LQCKjfBOM5wOMCaOUk71+cZeaQ2I6ulaNGpa5CrVX2UIOvr0KDVr22z0OqzPE+znDXtudCfbcm388MD1K5YBfG8KPZFemt6DKO2OF4xXWfRdAD6ztyJ3AtISEkxwNSKRtSFKOZC3xlix3o4nVHC/6YqLGr1zDeY3HT2PTPpjIvBQS3FN4h0oNBfi8eQVZwhNeP/ey1awPoS/C0EoTmILKRQIuTA9RkBsgAYTW5qiiQy9Lg8eZZqoJC+ksWx5+aRtsMb/acMaGKmcEToYrtma/PCu7czFJZspQzrTKfTI39x+y7jXNXo7nF3RvrieIFqunZdi72jl+Ofw+bMR;4:BfXDwh8IhSfcvwFsp7ed7EX3Ct2P2oQqK3vxSzM//qVuy4gHNizRVxNNj9mNsUAjqkgrRc5COX9iddUW/fw5QuRjlyyYvU+mPZRcFjqH58ri6BG7JK4xx6rU4MSKGMcoyi/z74wdLvHzXG8F/TxnupHIZ6OQ7ZN5NvjaR1AmXww= +X-Exchange-Antispam-Report-Test: UriScan:; +X-Exchange-Antispam-Report-CFA-Test: + BCL:9;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(2401047)(701105)(8121501046)(9101536074)(12181506113)(93006095)(93001095)(10201501046)(3231022)(8191506053)(100000703101)(100105400095)(3002001)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:RO1PR80MB0106;BCL:9;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:RO1PR80MB0106; +X-CustomSpam: Bulk Mail | Bulk Mail +X-Microsoft-Exchange-Diagnostics: + 1;RO1PR80MB0106;23:lPYVAgxML0JewdwN1imsBYvdYCEprqVIrjZrViLZnK1gR1suUVuvtm1jlD3oDOv2BbWUhLSwHM2lr4H0ftlfLcOLoYyAwn8XTYN9uHbySVsIywV2Kir+ioKNhu3T0PD7ZNmjawEePz3fyEc0kB6eQDHAFryBB+ekP8dN/aevjca6cuh/if43KpGMANH0F7B55qBR95ggt0qfMsfnoAj4oUOSlA+6Bq3qMGEMX2AuTY01lm9khHu57ezmW7X4Z2FnCx9Ivj68ccchaWeohvwjHoASwfIuEUPWHnC4WTyL/fm64qRzfLBch7r1JXb++XhOfk92JhMviTddq9wg5WFRqHId4dw+57BblBoGRg9dcUdfDJgtz+z6fQvJ0zdrdVNcfeueZNLTYBhsTR0LLr0jMA==;6:U6EZX0bE0jJHONnMpqF7HruQeVypc4CL4gybGeolMK8hec5qfyxnTzJZ5z6Mhyf7SErbgAxQyESCgcqw7p217c4f3O9+H4Eh0Wed74e+AP22e2XryrQpwE4Q102d8P1o3WIX8TMDLHNjs/nqlkIUxiaoj5BVXhnIFYBK8AjDMXEtK3Y8c+vDnT9bLe3Oeoj2oDVw5XrgjZ77lKf9m32EUkSBcDENzWi6Uqm+pwqxL2Sy0Al47CDLdi2HGnQs/z4/DAppEbXjLIX/M+SSAgGdfw/nqYh7SnKNmhyTNVTi0ew=;5:7WUK3/XjFKYxdorOjxj8RUaBmDCGLumtzVpcjwCY1gketxbXdQ2PtU5XRuedoNPnwhwihCoZ97oj9HWEx+QCSPqAby2DmsuQWWvGOL3EICPAQN5BCFrHzHUS56cqZtfA67gqhFVlzf98HGwuYhOFYoyj3te7QeGM5AlcLSjy1Ag= +X-Microsoft-Exchange-Diagnostics: + 1;RO1PR80MB0106;24:u/EmACmqz+2QxMUGTdOwuVj/kebIeTRYjlsSzmgXrN/zdXpeT7HeDNlpESy9JG5yp7yqHO3BQWC5zYuKvydE1g==;7:e0VmuoQ8hcaCk7ECv4JYTgsRzwFrjZEU3PBRlgRl0WtisNGUfxvRi+UCe2LGKJPZTEOGyy1wMk9cwW93HCr3hUUB7C+hFvmWUDHxzynP7zFAbqCvYjOiHTbAHDdy4oEbNFzMvpin2EOD1Bb56xBxu+lBotlu6Tqlp0uwfdL5uY5cpJrIwlbZ4B0qQj53RqAf9n1+BowuIPWxTnSD7YQbgesGH2cP5j0jnn4svHls26y4l4LHHmuCGZRDDxyGYM38eKeUzkiqilf4UgI3ImGJd3bXd6lkSB3mM0KYvxBigug=;20:CfwChLYxhEEfDmbUl99hmH6utIe/wdkeD1VKyp/dR/qFwDDusTG6R7GE/8QZXrqgd3/gVy0Nqx63w3XAXrIghGtcl17gK1XEK/DDEQDXNM8CKbJrg0uU9qeleI6NKcRJmuLy823/MriFk+reWV2F0UHUQDPKAJoKeNp84mALI2bHK3ltssEZ0a4niJ4xaXntZXNjiJMNVbgHT2fwMbwRCWFZ8r+38DjA5DmuLjMALIXBAn/i242uC9XjoD9yeyTDINLxjcG/SM9KuEMI2Vwe0kMZx2lixyidoCu7vF4NSrgfZKNA+u7v/lXQ5eEqNaqjY6etBh72vRMgyLcTzl16k7WxaeNm5uZ9hdyaLtVfFVoWbFj+q4wGGScA+8sOJbO51M9kTtuJP2Ut1wjiuvr9FyLkzlmdq+McDWSUmO+jMxyhYUj1SFp+dfu8idXHFUkm4Z4cFTCr08tKQ9K7dLBXL4oJ5hntOLNVEduZRFuQhLvio+9P+lZd+QJiyhmLoH57 +SpamDiagnosticOutput: 1:6 +SpamDiagnosticMetadata: Default:9 +X-MS-Exchange-Inbox-Rules-Loop: vipdesk@hostway.travel +X-Microsoft-Exchange-Diagnostics: + 1;RO1PR80MB0106;23:l70+jaaaGISH7JuWwWaWUQ1DYuHN8m9lK7iB0FD18yTRmoLhc3MygvoQH7u6jZeqlHNRXGeziSrP5NWKKOamHGumn6R87ZRK9lxrShcbKa2LVEAHeCgoyzo7yn3KmZLCBtQSS5TLfqSOfqwby52Uvw== +X-ExternalRecipientOutboundConnectors: c709a8cf-ebee-4c19-a146-0139aa7878ea +X-OriginatorOrg: hostway.travel +X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2017 12:53:09.0561 + (UTC) +X-MS-Exchange-CrossTenant-Network-Message-Id: dd2959b8-1db5-444a-02ac-08d52b5ea8ad +X-MS-Exchange-CrossTenant-Id: c709a8cf-ebee-4c19-a146-0139aa7878ea +X-MS-Exchange-CrossTenant-FromEntityHeader: Internet +X-MS-Exchange-Transport-CrossTenantHeadersStamped: RO1PR80MB0106 \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml b/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml index 21ce511..984e8e9 100644 --- a/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml +++ b/Class Library/ActiveUp.Net.Tests/resource/quoted-printable-notepad-linebreak.eml @@ -1,16 +1,16 @@ -Return-Path: +Return-Path: Received: from a2-sumeria7-2 (a2-sumeria7.host.intranet [10.129.137.204]) by cyruslmtpafil29-a with LMTPA; Fri, 15 Apr 2016 11:24:06 -0300 Received: from ch-host.clicholding.com.br (ch-host.clicholding.com.br [189.36.14.162]) by a2-snowball1.uhserver.com (Postfix) with ESMTP id 3qmftG5Mvlzft64R - for ; Fri, 15 Apr 2016 11:24:04 -0300 (BRT) + for ; Fri, 15 Apr 2016 11:24:04 -0300 (BRT) Received: from wtbweb08 ([127.0.0.1]) by ch-host.clicholding.com.br with Microsoft SMTPSVC(8.0.9200.16384); Fri, 15 Apr 2016 11:24:04 -0300 -Message-ID: <6b7922a0-7f40-444b-b6b9-b8b570552aaf@argoit.com.br> +Message-ID: <6b7922a0-7f40-444b-b6b9-b8b570552aaf@server.com> MIME-Version: 1.0 -From: =?iso-8859-1?Q?Gest=E3o_de_Viagens?= -To: "testeodare@encontact.com.br" +From: =?iso-8859-1?Q?Gest=E3o_de_Viagens?= +To: "testreceiver@enterprise.com" Date: 15 Apr 2016 11:24:04 -0300 Subject: =?iso-8859-1?Q?Solicita=E7=E3o_=2359_=2D_Aguardando_Cota=E7=E3?= =?iso-8859-1?Q?o_=2D_TESTE_HOTEL_=2D_TESTE_=2D_C=2E_Custo_TESTE_TES?= @@ -19,7 +19,7 @@ Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-OriginalArrivalTime: 15 Apr 2016 14:24:04.0524 (UTC) FILETIME=[769E8EC0:01D19722] -Alatur,=0D=0DFoi criada uma nova solicita=E7=E3o para TESTE SOLIC= +Sender,=0D=0DFoi criada uma nova solicita=E7=E3o para TESTE SOLIC= ITANTE.=0D=0DCliente: TESTE HOTEL=0DEmpresa: TESTE=0DC. Custo: TE= STE TESTE=0D=0D=0D>>> PASSAGEM A=C9REA=0DDescri=E7=E3o.: (GRU) Cu= mbica / (LAS) Las Vegas 04/Jan Manh=E3 (06:00 =E0s 12:00) (Econ=F4= @@ -27,11 +27,11 @@ mica)=0DHor=E1rio...: considerando sa=EDda=0DPagamento.: FATURADO= =0D=0DDescri=E7=E3o.: (LAS) Las Vegas / (GRU) Cumbica 07/Jan Manh= =E3 (06:00 =E0s 12:00) (Econ=F4mica)=0DHor=E1rio...: considerando= sa=EDda=0DPagamento.: FATURADO=0D=0D=0D>>> SOLICITANTE=0Dteste s= -olicitante (fulfillment@alatur.com)=0D=0D=0DDestinat=E1rios que e= -st=E3o recebendo esse email: =0Dtms@argoit.com.br (tms@argoit.com= -.br)=0Dteste solicitante (fulfillment@alatur.com)=0Dtesteodare@en= -contact.com.br (testeodare@encontact.com.br)=0Dodare@encontact.co= -m.br (odare@encontact.com.br)=0D=0DPara acess=E1-la clique em: =0D= - =0D=0D= EMAIL AUTOM=C1TICO, N=C3O RESPONDA ESSA MENSAGEM diff --git a/Class Library/ActiveUp.Net.Tests/resource/received-by-iphone-textonly.eml b/Class Library/ActiveUp.Net.Tests/resource/received-by-iphone-textonly.eml new file mode 100644 index 0000000..76f326c --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/resource/received-by-iphone-textonly.eml @@ -0,0 +1,127 @@ +Return-Path: +Delivered-To: to@client.com +Received: from host.email.com ([10.31.68.93]) + by lisa0449.email.host.com (Dovecot) with LMTP id 8c84FsHRf1ivYAAAihkfuA + for ; Wed, 18 Jan 2017 18:36:17 -0200 +Received: from host.email.com ([127.0.0.1]) + by host.email.com (Dovecot) with LMTP id AUAYFsHRf1jIUgAAVVd5Lw + ; Wed, 18 Jan 2017 18:36:17 -0200 +Received: from host.email.com (localhost [127.0.0.1]) + by host.email.com (Postfix) with ESMTP id 431C23C0156 + for ; Wed, 18 Jan 2017 18:36:17 -0200 (BRST) +Received: from mcbain0010.correio.biz (bob0005.email.host.com [10.31.68.32]) + by host.email.com (Postfix) with ESMTP id 321013C0148; + Wed, 18 Jan 2017 18:36:17 -0200 (BRST) +X-DKIM: Sendmail DKIM Filter v2.8.2 host.email.com 321013C0148 +Received: from bart0106.email.host.com (unknown [10.30.172.218]) + by mcbain0010.correio.biz (Postfix) with ESMTP id D9BDFF20173; + Wed, 18 Jan 2017 18:36:16 -0200 (BRST) +X-AuthUser: from@client.com +X-AuthUser: from@client.com +X-host-COR: host_2009_x-mail +Received: from [100.64.25.83] (unknown [138.0.0.100]) + (Authenticated sender: from@client.com) + by bart0106.email.host.com (Postfix) with ESMTPSA id 483A4F1250E1; + Wed, 18 Jan 2017 18:36:11 -0200 (BRST) +Content-Type: multipart/mixed; boundary=Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Transfer-Encoding: 7bit +X-mb: yes +Subject: Subject sent from iphone in test mail. +From: Sender | Enterprise +Message-Id: <564D6B51-7BA9-4F5C-9974-FF4D97C099F9@enterprise.com> +Date: Wed, 18 Jan 2017 18:36:08 -0200 +To: to@client.com +Mime-Version: 1.0 (1.0) +X-Mailer: iPhone Mail (14C92) +X-smiters: Deactivated + + +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: text/plain; + charset=utf-8 +Content-Transfer-Encoding: quoted-printable + +Good afternoon Client, +I need you to take care of this request, which has many details. +See the total value of the items and call them at the registration numbers. +Be brief, try by email yourself, just tell the total and date of delivery. + +Thank you! + + + +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: image/jpeg; + x-apple-part-url=FFBF0448-3000-46EA-B412-D454693663C0; + name=IMG_4441.JPG +Content-Disposition: inline; + filename=IMG_4441.JPG +Content-Transfer-Encoding: base64 + +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 + +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: text/plain; + charset=us-ascii +Content-Transfer-Encoding: 7bit + + + + + +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: image/jpeg; + x-apple-part-url=B9C8341D-CDEC-44DE-8642-C377F92033F9; + name=IMG_4442.JPG +Content-Disposition: inline; + filename=IMG_4442.JPG +Content-Transfer-Encoding: base64 + +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 +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: text/plain; + charset=us-ascii +Content-Transfer-Encoding: 7bit + + + + + +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: image/jpeg; + x-apple-part-url=EFE3400F-FC21-4C9B-ACD2-6B5448D69AC8; + name=IMG_4443.JPG +Content-Disposition: inline; + filename=IMG_4443.JPG +Content-Transfer-Encoding: base64 + +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 + +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: text/plain; + charset=us-ascii +Content-Transfer-Encoding: 7bit + + + + + +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: image/jpeg; + x-apple-part-url=AB0F6C10-674D-45FF-9418-E4160E493736; + name=IMG_4444.JPG +Content-Disposition: inline; + filename=IMG_4444.JPG +Content-Transfer-Encoding: base64 + +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 +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6 +Content-Type: text/plain; + charset=us-ascii +Content-Transfer-Encoding: 7bit + + + + +Enviado via IPhone +--Apple-Mail-95E8557F-C0BA-4B59-B4EA-654CD5E173F6-- \ No newline at end of file diff --git a/Class Library/ActiveUp.Net.Tests/resource/text_without_contenttype_subtype.eml b/Class Library/ActiveUp.Net.Tests/resource/text_without_contenttype_subtype.eml new file mode 100644 index 0000000..1f51397 --- /dev/null +++ b/Class Library/ActiveUp.Net.Tests/resource/text_without_contenttype_subtype.eml @@ -0,0 +1,49 @@ +Received: from production.server.com (10.175.202.138) by + other.production2.server.com (10.171.23.143) with Microsoft SMTP + Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id + 15.1.888.16 via Mailbox Transport; Thu, 9 Feb 2017 10:29:20 +0000 +Received: from other.production3.server.com (10.164.191.149) by + production.server.com (10.175.202.138) with Microsoft SMTP + Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id + 15.1.888.16; Thu, 9 Feb 2017 10:29:19 +0000 +Received: from other.production4.server.com (10.141.39.151) by + other.production3.server.com (10.164.191.149) with Microsoft SMTP + Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id + 15.1.888.16; Thu, 9 Feb 2017 10:29:17 +0000 +Received: from sender.production.server.com (2a01:111:f400:7c0c::103) by + production.server.com (2a01:111:e400:340b::23) with Microsoft + SMTP Server (version=TLS1_2, + cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.888.16 via + Frontend Transport; Thu, 9 Feb 2017 10:29:15 +0000 +Authentication-Results: spf=pass (sender IP is 191.99.28.152) + smtp.mailfrom=sender-host.com; customer-host.com; dkim=fail (signature did not + verify) header.d=sender-host.com;customer-host.com; dmarc=bestguesspass action=none + header.from=sender-host.com;customer-host.com; dkim=fail (signature did not verify) + header.d=sender-host.com; +Received-SPF: Pass (protection.production.com: domain of sender-host.com + designates 192.99.38.152 as permitted sender) + receiver=protection.production.com; client-ip=193.99.38.152; + helo=server.production.com; +Received: from server.production.com (182.99.38.182) by + BY2FFO11FD024.mail.protection.production.com (10.1.15.213) with Microsoft SMTP + Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id + 15.1.888.7 via Frontend Transport; Thu, 9 Feb 2017 10:29:14 +0000 +Received: from [199.185.193.214] (port=63738 helo=Server) + by server.production.com with esmtpa (Exim 4.88) + (envelope-from ) + id 1cblyR-0003Xr-A1; Thu, 09 Feb 2017 08:29:11 -0199 +From: "CUSTOMER NAME S.A." +Subject: CUSTOMER NAME S.A. - Subject of test email +To: client@customer-host.com +Cc: host@sender-host.com +Content-Type: text +Date: Thu, 9 Feb 2017 08:34:27 -0199 +Message-ID: +Return-Path: host@sender-host.com +MIME-Version: 1.0 + +---------------------------------------------------------------------------- +E-mail content test to validate. + +tks, +FOZZY diff --git a/Class Library/ActiveUp.Net/ActiveUp.Net.nuspec b/Class Library/ActiveUp.Net/ActiveUp.Net.nuspec index 3aaa324..b688fb9 100644 --- a/Class Library/ActiveUp.Net/ActiveUp.Net.nuspec +++ b/Class Library/ActiveUp.Net/ActiveUp.Net.nuspec @@ -4,10 +4,10 @@ MailSystem.Net-trunk $version$ $title$ - pmengal (https://mailsystem.codeplex.com/team/view) + pmengal (https://github.com/pmengal/MailSystem.NET) pmengal - https://mailsystem.codeplex.com/license - https://mailsystem.codeplex.com + https://github.com/pmengal/MailSystem.NET/blob/master/LICENSE.txt + https://github.com/pmengal/MailSystem.NET false MailSystem is a suite of .NET components that provide users with an extensive set of email tools. MailSystem provides full support for SMTP, POP3, IMAP4, NNTP, MIME, S/MIME, OpenPGP, DNS, vCard, vCalendar, Anti-Spam (Bayesian , RBL, DomainKeys), Queueing, Mail Merge and WhoIs Mail Library csharp diff --git a/Libs/nunit.framework.dll b/Libs/nunit.framework.dll deleted file mode 100644 index 3e24ba1..0000000 Binary files a/Libs/nunit.framework.dll and /dev/null differ diff --git a/PoweredByNDepend.png b/PoweredByNDepend.png new file mode 100644 index 0000000..75b6dae Binary files /dev/null and b/PoweredByNDepend.png differ diff --git a/README.md b/README.md index f23fc03..280c0ec 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ In addition to the library, the suite provides the developer with a full feature - Triggers include Daily, Weekly, Monthly or a specific day, week and month of year - Multiple XML task list configuration file support -![Powered by ndepend](http://download-codeplex.sec.s-msft.com/Download?ProjectName=mailsystem&DownloadId=738843) +[![Powered by ndepend](PoweredByNDepend.png)](https://www.ndepend.com/) **Who's using this**