Author: Pedro Lucas Porcellis <pedrolucasporcellis@gmail.com>
Add the document explaining the whys
PORQUE.md | 242 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
diff --git a/PORQUE.md b/PORQUE.md new file mode 100644 index 0000000000000000000000000000000000000000..07af8da001fc8a0fb841c63d06dbc09238966950 --- /dev/null +++ b/PORQUE.md @@ -0,0 +1,242 @@ +Sério, é tudo que você precisa. Simples, antiquado, sem floreios, texto +simples e puro. Parece de outro mundo, mas não é. + +## Como assim? + +Hoje, existem dois tipos de formatos aceitos para enviar emails. +O formato HTML [^1] e o formato de texto simples. + +O formato de HTML foi adicionado como uma forma melhor de divulgar +marketing — aquele tipo de email inútil que atola sua caixa de entrada +— justamente pelo maior aspecto de customização oferecido, o que acaba +sendo também a sua maior falha de segurança e privacidade. As poucas +vantagens para usuários comuns, isto é, eu e você, como imagens, +italico, negrito, e links acabam não compensando a troca. + +[^1]: Sigla para [Hyper Text Markup + Language](https://pt.wikipedia.org/wiki/HTML), ou Linguagem de + Marcação de Hipertexto, e essencialmente é uma linguagem usada para + construção de documentos web. + +### Não valem? + +Não. Os e-mails no formato HTML são os principais vetores para uma +técnica chamada _phishing_[^2], justamente pelo fato do email HTML permitir +que você crie um link escondido atrás de uma imagem ou um texto +amigável. A técnica em geral é usada quando um usuário malicioso lhe +envia um email criando links que levam você a um site diferente do que +você espera. Geralmente esses sites são modelados para se parecerem com +o site original, de forma a você lhe dar informações sensíveis achando +que é o site original. + +[^2]: É a tentativa fraudulenta de obter informações confidenciais como + nomes de usuário, senhas e detalhes de cartão de crédito, por meio de + disfarce de entidade confiável em uma comunicação eletrônica + +Nos e-mails no formato de texto simples, isso não acontece, afinal +o link está sempre visível, o que pode levar você a fazer uma decisão +melhor informado se deve acreditar ou não. _Além de outras coisas como +invasão de privacidade e rastreamento..._ + +### Invasão de Privacidade e Rastreamento? + +Ah sim, um clássico do e-mail marketing. Links e imagens embutidas +possuem um formato construido de forma a avisar ao remetente do e-mail +informações únicas sobre você. Todo link/imagem é constrúido com esse +propósito, gerando um identificador único de forma a avisar quando, em +qual computador, cliente de email você abriu. Basta olhar as URLs com +atenção, perceba: + +`https://coachdemarketingabusivo.com.br/click?upn=XM9pG7Gis1mcUv-2F8J5qeJGQxNMgn50iYfwko-2FvCylqY7sZ-2B1OQ4OLCXoxXRZqC-2FR-2BRim1O4iwy5FTxZO3IMhXQ-3D-3DM0Js_-2FAPMR-2FzhLd8-2FNZ-2Fd8DGaR6I96Xs2aUJafDf1Pm5mNQcDocCoBt-2Bj-2BGo0YXLg6eW-2FkjENZv2VnVvDwBgkrSKvOG8SSBo8qVHPid-2B6yZBueGYOafkbYllqC9tw6-2B4QYcT4Wx-2BWMPHoA29AJYSAzUTZDL-2FYFtCJ4mitx1vts7i1gflE5NISJm-2BQ4ZHTPiI3sL-2BPUM5H-2FMv-2Bv0t36p0YlafcS5X7y-2B-2FqRgB7O7vtnPPBnR0-2BOudPYFnY5hhodhXXUF1ZAygldV2L6Oee3r5yYrqjijJ6miUH4-2FO-2BjfydcwUrjLOVvo3diDFUgCI4-2FjNqr2Hh` + +_(exemplo de um link recebido de um email do Spotify)_ + +Toda aquela parte depois do `upn=` é um identificador único gerado para +mim pelo sistema que dispara a campanha de email. Esse link estava +disfarçado de um "botão" no corpo do e-mail, que é carregado assim que +eu abro a mensagem. + +> Técnicamente, isso quer dizer que o meu cliente de e-mail vai ter que +> abrir uma conexão com esse link para baixar a imagem e mostrar no corpo +> da mensagem (renderizar). Evidentemente que assim que o servidor onde +> está hospedado a imagem receber um pedido para baixar a imagem, ele cria +> um registro: _"O destinatário com o identificador X abriu o e-mail"_. +> Naturalmente, o cliente de e-mail vai informar alguns dados adjunto do +> pedido para baixar a imagem, informações essas que serão registradas +> junto da informação do email. + +### De que serve essas informações? + +Marketing, o que basicamente virou a internet (e o mundo) hoje em dia. +Serve justamente para tentar buscar anúncios que tenham melhor chance de +que você "compre". Uma loja online saber que eu geralmente abro mais +e-mails relacionados a uma categoria X de produtos, consegue adaptar +para me mandar mais e-mails da categoria X, e não vai tentar perder +tempo tentando me fazer comprar uma categoria Y da qual eu nunca abro os +e-mails. + +## Vulnerabilidades + +HTML é feito explicitamente para a web. Para uma variedade enorme de +documentos, aplicações, e outras coisas. Além de ser uma especificação +da qual não _foi feita para o e-mail_ e que tenta atender todos os casos +possíveis. A própria especificação cresce exponencialmente, com um leque +de funcionalidades extremamente específicas, e não foi desenhado um +motor de renderização que implemente apenas uma parte das especificações +de forma atender os e-mails. + +Portanto, o que em geral é feito pelos clientes de e-mail é apenas +renderizar o HTML enviado, dentro de um navegador/motor de renderização +comum, como o Chromium[^3], as vezes com algumas das funcionalidades +desabilitados. Esse é o ponto principal de vulnerabilidades em clientes +de e-mails da qual acabam por serem explorados de forma a vazar +informações ou executar código arbitrário malicioso. + +[Existe aqui uma lista de 421 vulnerabilidades de execução de código +remoto somente no cliente de e-mail livre da Mozilla, +o Thunderbird][thunderbird]. +Quase todas relacionadas com tecnologias web. + +[thunderbird]: https://www.cvedetails.com/vulnerability-list.php?vendor_id=452&product_id=3678&version_id=&page=1&hasexp=0&opdos=0&opec=1&opov=0&opcsrf=0&opgpriv=0&opsqli=0&opxss=0&opdirt=0&opmemc=0&ophttprs=0&opbyp=0&opfileinc=0&opginf=0&cvssscoremin=0&cvssscoremax=0&year=0&month=0&cweid=0&order=3&trc=421&sha=e340a73ad8b935c928250f8f7668f55ce061c8ec + +[^3]: Motor de renderização de código aberto do Chrome + +## Acessibilidade + +Navegar a internet já um desafio enorme para pessoas com deficiência +e da qual precisam de um leitor de tela para poder usar o computador. Os +mesmos problemas que temos na web para mantê-la acessível, se tornam +ainda maior. E-mails em texto são **muito mais acessíveis, dado a sua +natureza** para leitores de tela recitar, em especial para usuários com +leitores específicos para essa tarefa. Afinal, como você fala um texto +em negrito? Ou imagens embutidas? E a questão de links disfarçados? + +## Leves e rápidos para computadores de segunda linha + +Por ser apenas texto puro — e não precisar ser processado em um outro +documento antes de ser mostrado na tela — o tempo, memória e bateria +gasto é ínfimo comparado a um email HTML. Facilitando inclusive para +pessoas com computadores velhos, lentos ou simplesmente que não são de +primeira linha, o que se considerarmos é a grande maioria do nosso país. +Além do mais, se tem uma coisa que um computador sabe fazer é exibir +texto (simples) na tela. + +## Parece que não vale a pena... + +Sim. A maior parte das funcionalidades trazidas com o e-mail HTML são +justamente a habilidade de poder escrever o texto em italico ou negrito, +links e imagens embutidas, entretanto vem de bagagem a falta de +acessibilidade para usuários e um pesadelo de segurança e privacidade, +afinal abre portas para que empresas possam rastrear e remetentes +maliciosos possam enviar e-mails que ou exploram falhas de segurança ou +enganam as pessoas. + +Além do mais, todas essas funcionalidades estão disponível naturalmente +no email de texto simples. Imagens podem serem anexadas, e você pode +utilizar coisas como `*asteriscos*`, `/barras/`, `_underlines_` ou até +mesmo `CAIXA ALTA` para dar ênfase a uma palavra. Ou seja, você pode +comunicar o ponto que você deseja, sem trazer todo o pesadelo de e-mails +HTML junto. + +# Etiquetas ao usar e-mail de texto + +Existem algumas etiquetas recomendadas para usar emails de texto, as +duas mais famosas são bem simples. + +## Não repita o email anterior + +Quando responder um email, em geral o cliente vai incluir uma versão +citada do email que você está respondendo, embaixo do texto da sua +resposta. O termo - na gringa - é "top posting" (postagem em cima) +e é **fortemente** desencorajado. + +Apesar de que os clientes de e-mails nos treinaram para nunca mexer no +email anterior, você pode sim editar a mensagem, alias é até melhor. +Corte a parte que não interessa ao ponto que você está respondendo +e escreva embaixo! Ou remova completamente, apenas respondendo. Você vai +notar que se torna melhor de ler e acompanhar, sem toda a sujeira. + +Exemplo: + +Dado a seguinte mensagem: + +``` + Opa! Tudo bem? Sou o Beltrano da empresa X, trabalho no setor Y, + e um colega me recomendou teu perfil. Vi que tinha uns projetos + legais na tua página, fiquei em duvida de duas coisas na verdade. + + Queria saber qual linguagem é construido aquele projeto Z, e se tu + teria interesse em discutir melhor ele. + + Também não entendi porque o projeto A não foi pra frente, mas + podemos marcar uma conversa somente sobre isso, tenho uns amigos + interessados em usar a tua plataforma, que tal quarta-feira as 16h? + + Obrigado, + Beltrano +``` + +### Resposta sem modos + +``` + Opa Beltrano, tranquilo! Podemos marcar sim na quarta e sobre + o projeto Z, é escrito diretamente em C, que é a linguagem perfeita + para embarcados. + + Atenciosamente, + Fulano + + Em 11 de Setembro de 2020, Fulano <fulano@empresa.com.br> escreveu: + + > Opa! Tudo bem? Sou o Beltrano da empresa X, trabalho no setor Y, + > e um colega me recomendou teu perfil. Vi que tinha uns projetos + > legais na tua página, fiquei em duvida de duas coisas na verdade. + > + > Queria saber qual linguagem é construido aquele projeto Z, e se tu + > teria interesse em discutir melhor ele. + > + > Também não entendi porque o projeto A não foi pra frente, mas + > podemos marcar uma conversa somente sobre isso, tenho uns amigos + > interessados em usar a tua plataforma, que tal quarta-feira as 16h? + + > Obrigado, + > Beltrano +``` + +### Resposta de uma pessoa que leu esse site e que é educada + +``` + Opa Beltrano, tranquilo! + + > Queria saber qual linguagem é construido aquele projeto Z, e se tu + > teria interesse em discutir melhor ele. + + É escrito diretamente em C, que é a linguagem perfeita para + embarcados, e sim, podemos conversar sobre! + + > Também não entendi porque o projeto A não foi pra frente, mas + > podemos marcar uma conversa somente sobre isso, tenho uns amigos + > interessados em usar a tua plataforma, que tal quarta-feira as 16h? + + Quarta-feira é ótimo! Te aguardo. + + Atenciosamente, + Fulano +``` + +Além de um email mais limpo, é lógicamente mais correto. Um exemplo mais +simples: + +- **Resposta:** Porque reverte o fluxo lógico de uma conversa +- **Pergunta:** Porque "top posting" é tão ruim? + +## Delimitar as colunas do seu texto + +Em geral é encorajado que os textos sejam delimitados em 72 colunas. +Isso gera sentenças curtas e mais organizadas de ler, cansando menos os +olhos evitando de _misturar linhas_ enquanto você lê um longo e-mail com +colunas gigantes. Em geral todo cliente de email mostra uma contagem de +palavras, linhas e colunas ou automáticamente já delimita as colunas do +seu editor, mas é sempre bom procurar habilitar uma função de "Delimitar +texto (Wrap text)". Se você é um desenvolvedor, esse é uma dica que +funciona para código também.