diff --git a/Class Library/ActiveUp.Net.Common/Parser.cs b/Class Library/ActiveUp.Net.Common/Parser.cs
index fcdd469..97e7c6a 100644
--- a/Class Library/ActiveUp.Net.Common/Parser.cs
+++ b/Class Library/ActiveUp.Net.Common/Parser.cs
@@ -117,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.
///
@@ -138,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 = ToUtf8(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
@@ -171,7 +179,7 @@ private static void ParseSubParts(ref MimePart part, Message message)
GC.WaitForPendingFinalizers();
parentPartBinary = tmp;
- parentPartAsciiBody = ToUtf8(parentPartBinary);
+ parentPartUtf8Body = ToUtf8(parentPartBinary);
tmp = null;
if (!strpart.StartsWith("--") && !string.IsNullOrEmpty(strpart))
@@ -497,7 +505,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);
}
}
@@ -506,23 +514,26 @@ 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 = ToUtf8(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)
{
- int indexBody = part.OriginalContent.IndexOf("\r\n\r\n");
+ var indexBody = part.OriginalContent.IndexOf("\r\n\r\n");
if (indexBody > 0)
bodyStart = indexBody;
}
@@ -533,12 +544,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.
}
@@ -560,9 +571,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;
diff --git a/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj b/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj
index fb7ceb6..7e43595 100644
--- a/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj
+++ b/Class Library/ActiveUp.Net.Tests/ActiveUp.Net.Tests.csproj
@@ -102,6 +102,9 @@
PreserveNewest
+
+ Always
+
Always
diff --git a/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs b/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs
index 6d8bcc3..d187255 100644
--- a/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs
+++ b/Class Library/ActiveUp.Net.Tests/Common/ParserTests.cs
@@ -3,6 +3,7 @@
using ActiveUp.Net.Mail;
using NUnit.Framework;
using System.Reflection;
+using System.Text;
namespace ActiveUp.Net.Tests.Common
{
@@ -229,7 +230,19 @@ public void MustParseEmlWithContentTransferEncode8Bit()
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("Special char test çãõáéíóú", 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;
+ Assert.AreEqual("This is a multi-part message in MIME format.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", result);
Assert.IsTrue(string.IsNullOrWhiteSpace(message.BodyHtml.Text));
}
}
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
index 50f751b..1131c41 100644
--- a/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit.eml
+++ b/Class Library/ActiveUp.Net.Tests/resource/content-transfer-encode-8bit.eml
@@ -57,4 +57,4 @@ Subject: Special char test çãõáéíóú
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
-Assunto Special char test çãõáéíóú
\ No newline at end of file
+Body special char test çãõáéíóú
\ No newline at end of file