Why does email get bad format when putting HTML in the body?

Asked

Viewed 128 times

1

I have a jQuery editor that sends a string in HTML format to my input as follows.

<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">Prezados,</span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">Informamos a publicação da <strong><em>Instrução Normativa IBAMA 10</em></strong>, de 25 de junho de 2014, que altera a </span><span style="font-size: 10pt; font-family: Arial, sans-serif;">Instrução Normativa IBAMA 21, de 26 de dezembro de 2013, que d</span><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">isciplina o Documento de Origem Florestal (DOF).</span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">O DOF é utilizado para realizar transporte, beneficiamento, comércio, consumo e armazenamento de produtos florestais de origem nativa, inclusive o carvão vegetal nativo; o local de armazenamento dos produtos florestais, o transporte e recebimento desses produtos, a conversão de produtos florestais por meio do processamento industrial ou processo semi-mecanizado e os processos de exportação e importação de produto florestal.</span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">A IN IBAMA 21/13 havia determinado que:</span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="margin-left: 35.4pt; text-align: justify; text-autospace: none;"><em><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">Art. 35 - A partir de 1º de janeiro de 2014, o acesso ao Sistema DOF disponibilizado às pessoas jurídicas poderá será realizado por meio de certificação digital, em caráter facultativo.</span></em></p>
<p class="MsoNormal" style="margin-left: 35.4pt; text-align: justify; text-autospace: none;"><em><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></em></p>
<p class="MsoNormal" style="margin-left: 35.4pt; text-align: justify; text-autospace: none;"><em><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">§ 1º A certificação digital será obrigatória a partir de 30 de junho de 2014 para a validação de acesso dos usuários mencionados no caput, cabendo a esses providenciarem seus próprios certificados conforme especificações a serem fornecidas pelo Ibama.</span></em></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">A IN IBAMA 10/14 alterou esse prazo e assim modificou a redação acima:</span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="margin-left: 35.4pt; text-align: justify; text-autospace: none;"><em><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">Art. 35. A partir de 4 de agosto de 2014 o uso de certificação digital para validação de acesso ao Sistema DOF será obrigatório, cabendo aos usuários, pessoas físicas ou jurídicas, providenciarem seus próprios certificados conforme especificações fornecidas pelo Ibama.</span></em></p>
<p class="MsoNormal" style="margin-left: 35.4pt; text-align: justify; text-autospace: none;"><em><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></em></p>
<p class="MsoNormal" style="margin-left: 35.4pt; text-align: justify; text-autospace: none;"><em><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">§ 1º Até que se inicie a obrigatoriedade prevista no caput, o uso da certificação digital é facultativa.</span></em></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">A consolidação da IN IBAMA 21/13 com as alterações promovidas pela IN IBAMA 10/14 será disponibilizada na Atualização de Julho de 2014.</span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;">Atenciosamente,</span></p>
<p class="MsoNormal" style="text-align: justify; text-autospace: none;"><span style="font-size: 10.0pt; font-family: 'Arial','sans-serif'; color: #282526; mso-fareast-language: PT-BR;"> </span></p>
<p class="MsoNormal"><span style="color: #1f497d;"> </span></p>

But when sending an email the space between a paragraph and another is about 5 spaces. Does anyone know what would be wrong with that?

Code of Envio:

            MailMessage emails = new MailMessage();
            emails.IsBodyHtml = true;

            ContentType mimeType = new System.Net.Mime.ContentType("text/html");

            AlternateView htmlView = AlternateView.CreateAlternateViewFromString(Mensagem, mimeType);
            emails.AlternateViews.Add(htmlView);

            emails.IsBodyHtml = true;
            emails.Subject = Assunto;
            SmtpClient client = new SmtpClient();
            if (!HttpContext.Current.IsDebuggingEnabled)
                client.Send(emails);
            else
                EnviaEmailDebugHtml(emails.Subject,htmlView);
            htmlView.Dispose();
            return true;
  • Which library used to send the e-mail?

  • Smtpclient Mailclient = new Smtpclient(); Mailmessage emails = new Mailmessage();

  • I think it’s the span or the paragraph!! Follows text image. insert image description here

  • Which symbol is used for the paragraph? \n, <br /> or <p></p>?

  • The symbol is <p>

1 answer

2


Missed you specify in your object MailMessage that the body of the email will be . Also try to avoid putting HTML inside the property Body, because it doesn’t work very well. Create a AlternateView in place:

MailMessage emails = new MailMessage();
emails.IsBodyHtml = true;

AlternateView htmlView = AlternateView.CreateAlternateViewFromString(seuHtmlVindoDaTela, new ContentType("text/html"));
message.AlternateViews.Add(htmlView);

MailClient.Send(emails);

Source: http://msdn.microsoft.com/pt-br/library/system.net.mail.mailmessage.isbodyhtml(v=vs.100). aspx

  • Well, then you have to force some extra tags. Possibly the formatter is taking some extra liberties to form this email.

  • @Marconi Possibly.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.