Seus emails corporativos merecem um papel de carta de verdade 💌

O Papéli é um Milter Postfix escrito em Rust puro que intercepta emails de saída (portas 587 e 465) e os envelopa automaticamente em papel de carta responsivo com assinatura dupla inteligente — tudo antes do OpenDKIM.

Imagine que cada email da sua empresa chegasse como uma carta elegante, com papel timbrado, assinatura completa e sem aquele lixo de HTML do Outlook. Esse é o Papéli.
Como funciona

Transparente para o remetente. Sem alteração de cabeçalhos DKIM. Bypass automático para domínios não gerenciados.

✨ Antes & Depois

😬 Email cru do Outlook
<div class="WordSection1">
<p class="MsoNormal">Oi João,</p>
<p class="MsoNormal">&nbsp;</p>
<p class="MsoNormal">Segue o relatório.</p>
<!--[if !supportAnnotations]-->
<div class="MsoNormal">
  <b>Carlos Silva</b><br>
  Diretor | ACME Corp<br>
  +55 11 99999-9999<br>
  <span class="MsoNormal">
    Esta mensagem é confidencial...
    (8 linhas de disclaimer)
  </span>
</div>
</div>
Enviado do meu iPhone
🌸 Após o Papéli

✅ HTML limpo · ✅ DKIM intacto · ✅ Responsivo

🌸 🌷 💐 🌷 🌸

Funcionalidades

O que o Papéli faz de especial pela sua correspondência

📎

Anexos Intactos

Preservação bit-a-bit de todos os anexos e imagens CID inline. SHA-256 verificado em cada mensagem.

✂️

Sanitização Cirúrgica

Remove lixo MSO/Word (WordSection1, MsoNormal), VML, condicionais IE e rodapés de celular.

✍️

Assinatura Dupla Inteligente

Assinatura longa no primeiro envio. Nas threads, colapsa para versão compacta — economizando até 70% dos bytes.

📐

Templates MJML

Papel de carta responsivo compilado via MRML puro (Rust). Templates Jinja2 com variáveis por remetente.

⚙️

Config Hierárquica

Resolução em 3 camadas: remetente específico → domínio → padrão global. Hot-reload sem reiniciar serviço.

🦀

Rust Puro & Seguro

Zero dependências de C no critical path. Socket UNIX ou TCP. Bypass automático para domínios não gerenciados.

🔐

DKIM Transparente

Atua antes do OpenDKIM. Assinatura criptográfica sempre válida. Sem quebra de SPF/DMARC.

🧪

Suite de Testes Rigorosa

30+ testes automatizados cobrindo MIME complexo, todos os clientes de email, tipos de conteúdo e edge cases.

💌 ✉️ 📮 ✉️ 💌

Assinatura Dupla Inteligente

O problema do inchaço de assinaturas em threads longas, resolvido de forma determinística

Em um ambiente corporativo, uma thread com 5 respostas pode ter o mesmo bloco de assinatura repetido 5 vezes — logos, disclaimers, telefones. O Papéli resolve isso com marcadores semânticos rastreáveis, colapsando assinaturas históricas automaticamente.

✍️ Assinatura Longa (mensagem atual)

Carlos Silva
Diretor de Tecnologia | ACME Corp
Tel: +55 11 99999-9999
www.acme.com
Esta mensagem contém informações confidenciais...

📌 Assinatura Curta (histórico citado)

— Carlos Silva (ACME Corp)

✅ Economiza até 70% dos bytes em threads longas

💡
O Papéli usa marcadores HTML data-papeli="signature" e delimitadores em texto puro (<!--papeli:sig:start:long-->) para identificar e colapsar assinaturas antigas com precisão determinística.

Início Rápido

1. Compilar e instalar

git clone https://codeberg.org/lumenpink/papeli
cd papeli
cargo build --release
sudo cp target/release/papeli /usr/local/bin/papeli

2. Configurar o Postfix

Adicione o Papéli como milter exclusivamente nas portas de submission (master.cf):

submission inet n - y - - smtpd
  -o smtpd_milters=unix:/run/papeli/papeli.sock,inet:localhost:8891
  -o milter_default_action=accept

3. Criar o arquivo de configuração

sudo mkdir -p /etc/papeli/templates
sudo cp deploy/papeli.example.toml /etc/papeli/papeli.toml
# Edite /etc/papeli/papeli.toml com suas configurações

4. Iniciar o serviço

sudo cp deploy/papeli.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now papeli
sudo postfix reload
🌸
Pronto! Seus próximos emails corporativos saem envelopados em papel de carta. Veja a documentação completa para configurar templates, domínios e remetentes específicos.