Reflexões públicas sobre um e-mail de 2ª geração
(gabrielsieben.tech)Note: Este texto é apenas uma organização das minhas ideias. Não foi algo pensado a fundo, e não é necessário considerar que seja uma boa ideia. Leia com as expectativas o mais baixas possível.
Problemas do e-mail
- Muitas tecnologias antigas ainda continuam em uso, mas o e-mail me irrita toda vez que preciso usá-lo.
- Do ponto de vista do usuário, o e-mail funciona bastante bem. Às vezes envia e-mails demais por causa de spam, mas é antigo, confiável, fácil de entender e relativamente fácil de pesquisar.
- Porém, o backend do e-mail é uma bagunça.
Problemas do backend de e-mail
- Muitos recursos do e-mail não têm uma especificação clara. Por exemplo, ao enviar uma resposta, não está claramente definido se ela deve ir no topo ou no fim da mensagem.
- Não está claro que tipo de HTML pode ser usado em e-mails. Há casos em que o Microsoft Outlook abusa do renderizador de HTML do Microsoft Word.
- Também não está claro como criptografar e-mails. Inventaram algo chamado OpenPGP, mas ele quase não foi usado e tem falhas graves.
- Nunca foi possível verificar sempre a autenticidade do e-mail. Então inventaram o SPF, mas o SPF também não resolveu todos os problemas. Depois inventaram o DKIM, mas o DKIM também não resolveu tudo. Então inventaram o DMARC, mas como o próprio DKIM tem falhas grandes, o DMARC também pode ser contornado.
- Adicionaram outra camada chamada BIMI, que também depende de DMARC, que depende de DKIM, e o DKIM tem falhas.
- Mesmo quando há DMARC, 68,2% dos registros estão configurados com
p=none. Isso significa que, na prática, o DMARC não faz nada por padrão. - Por causa de tudo isso, somado a políticas agressivas de combate a spam, hospedar seu próprio e-mail é muito difícil.
- Por fim, existe a gestão de reputação de IP. Alguns endereços IP são mais “limpos” do que outros, especialmente em sistemas compartilhados como SendGrid ou AWS SES. Isso complica o registro de contas de envio em massa e faz com que e-mails legítimos sejam frequentemente classificados como spam.
Hipótese sobre um e-mail de 2ª geração
- Criar um novo registro DNS
MX2. A maioria dos serviços de e-mail teria registrosMX2eMX. Serviços antigos teriam apenasMX. - Se um cliente de e-mail antigo, de 20 anos atrás, tentar enviar uma mensagem, ele procurará o registro
MXe enviará a mensagem. Clientes modernos olharão paraMX2e enviarão a mensagem por ele. - Serviços de e-mail que implementarem
MX2publicariam uma data de divulgação e, após essa data, classificariam automaticamente como spam todas as mensagens enviadas para o registroMX.
Prioridades do e-mail de 2ª geração
- Fornecer uma especificação padronizada de HTML para e-mail e uma suíte de testes de conformidade.
- Fornecer um cabeçalho para preferências de encadeamento de e-mail ou outras preferências relacionadas a e-mail.
- Fornecer, junto com a visualização em HTML, uma cópia somente em texto, sem HTML.
- Todos os registros
MX2devem incluir uma chave pública. - Gerar um hash para verificar a autenticidade e a integridade do e-mail, criptografá-lo e adicioná-lo ao cabeçalho.
- Eliminar SPF, DKIM e DMARC, padronizando tudo em um único registro
MX2para simplificar stacks de e-mail self-hosted. - Autenticar e-mails com base no domínio, e não no endereço IP.
- Clientes que implementarem
MX2poderiam escolher um novo esquema de criptografia para substituir o OpenPGP.
Pensamentos adicionais
- É necessário algum meio de compartilhar arquivos grandes.
- Sem a participação do Google e da Microsoft, o
MX2nunca se tornará realidade. - Também seria possível considerar substituir o SMTP por HTTP com uma API REST padronizada e corpo em JSON.
- O próprio uso de HTML pode ser controverso. O e-mail originalmente não foi projetado para HTML.
- Existe uma oportunidade de impor um novo padrão de forma rígida.
Opinião do GN⁺
- A tentativa de resolver a complexidade e os problemas de segurança do sistema de e-mail é muito interessante. Em especial, propor uma nova forma de garantir a autenticidade e a integridade do e-mail pode ser útil.
- No entanto, introduzir um novo padrão é algo muito difícil. Em especial, a participação de grandes players como Google e Microsoft é essencial.
- A controvérsia em torno do uso de HTML continua existindo. Para resolver os problemas de segurança, pode ser necessário considerar outra linguagem de marcação.
- Fazer cumprir rigidamente um novo padrão seria o ideal, mas, na prática, isso pode ser difícil. Seriam necessários mecanismos adicionais para evitar desvio do padrão e erros de implementação.
- A centralização do sistema de e-mail pode ajudar na introdução de um novo padrão, mas ao mesmo tempo pode aumentar a dependência de empresas específicas.
8 comentários
Pelo menos no que diz respeito às melhorias de renderização, Google e Microsoft já investiram nisso... afinal, ambos participaram e deram suporte ao projeto AMP Email.
Criar um padrão de dados como JSON é bom,
mas também seria preciso discutir junto a especificação de renderização, então não parece algo simples.
Será que o motivo de terem escolhido HTML
não foi justamente pegar carona, sem custo, na especificação de renderização de HTML+CSS?
Como o pessoal acima já mencionou Shop Mail como um caso extremo, pessoalmente vejo com bastante ceticismo a própria ideia de classificar abertamente um protocolo que já funciona bem como
deprecatede fazer com que apenas algum novo padrão de protocolo incompatível seja compatível.Então foi por isso que criamos o Ssapmail... (hã? não era isso...)
O sistema de e-mail é conveniente e bom, mas realmente acho que melhorias graduais no protocolo são necessárias.
Usar esse método assim mesmo daqui a algumas décadas é meio...
Opinião no Hacker News
Resumo da coletânea de comentários do Hacker News
Complexidade e interoperabilidade do sistema de e-mail
Ambiguidade e problemas do e-mail
Problema de centralização do e-mail
Problemas do e-mail em HTML
Necessidade de manter a natureza assíncrona do e-mail
Dificuldade de operar servidores de e-mail
Definição de e-mail legítimo
Necessidade de melhorar o sistema de e-mail
Checklist de ideias anti-spam
Checklist de ideias anti-spam