Padrões cumpridos.Lacunas apontadas.
Cada protocolo que o FOLD fala é definido em uma RFC. Esta página lista aquelas pelas quais um cliente de e-mail é avaliado e diz, para cada uma, o que o código faz hoje: implementado, implementado em parte, pendente ou deixado de fora de propósito, e por quê.
Verificado contra o código em 2026-09-23
- Implementado
- 58
- Implementado e em uso.
- Parcial
- 8
- Uma parte funciona; a nota diz qual.
- Pendente
- 10
- Ainda não implementado.
- Descartado
- 6
- Não implementado de propósito; a nota explica o motivo.
Formato da mensagem
Como uma mensagem é montada, lida e exibida.
| RFC | Padrão | Status | No FOLD |
|---|---|---|---|
| RFC 5322 | Internet Message Format | Implementado | Rigoroso ao escrever; ao ler, tolerante a quebras de linha isoladas, cabeçalhos de 8 bits e variantes de data. |
| RFC 2045-2049 | MIME | Implementado | O FOLD baixa a mensagem inteira e monta a árvore MIME no dispositivo. |
| RFC 2047 | MIME Encoded-Words | Implementado | Texto não ASCII nos cabeçalhos, decodificado e codificado. |
| RFC 2231 | MIME Parameter Value and Encoded Word Extensions | Parcial | Nomes de arquivo longos e não ASCII são lidos; ao enviar, o FOLD ainda não os escreve nessa forma. |
| RFC 2183 | Content-Disposition | Implementado | Em linha ou como anexo, e o nome do arquivo. |
| RFC 2387 | multipart/related | Implementado | Mensagens com imagens incorporadas, lidas e escritas. |
| RFC 2392 | Content-ID and Message-ID URLs | Implementado | Links cid: para imagens incorporadas são resolvidos dentro da mensagem. |
| RFC 6532 | Internationalized Email Headers | Implementado | Cabeçalhos UTF-8 são sempre lidos; o FOLD só os escreve para endereços internacionais e só quando o servidor oferece SMTPUTF8 ou UTF8=ACCEPT.desde 2026-09-21 |
| RFC 3676 | The Text/Plain Format and DelSp Parameters | Pendente | Texto format=flowed ainda não é reformatado, e o FOLD não o envia. |
| RFC 2369 | List Commands in Header Fields | Implementado | List-Unsubscribe como ação: o FOLD envia ele mesmo a solicitação por e-mail; links da web abrem no navegador. |
| RFC 2919 | List-Id | Implementado | Reconhece listas de e-mails, para que as quebras de assinatura típicas delas não apareçam como falsificações. |
| RFC 8058 | One-Click Unsubscribe | Pendente | O cabeçalho é reconhecido, mas o FOLD não envia a solicitação de um clique; o cancelamento da inscrição é feito por e-mail ou pela página web. |
| RFC 8098 | Message Disposition Notification | Parcial | O FOLD pode pedir uma confirmação de leitura ao enviar, mas de propósito nunca envia uma. |
Leitura e sincronização (IMAP)
O FOLD pergunta ao servidor o que ele suporta, e pergunta de novo após o início de sessão; só ativa cada extensão se o servidor a anunciar e, caso contrário, recorre ao caminho mais simples.
| RFC | Padrão | Status | No FOLD |
|---|---|---|---|
| RFC 3501 | IMAP4rev1 | Implementado | A base que todo servidor suporta, incluindo STARTTLS, sem nunca recorrer a uma conexão sem criptografia. |
| RFC 9051 | IMAP4rev2 | Descartado | Reconhecido, não ativado: nenhum servidor do grupo-alvo o exige; o FOLD usa as extensões do rev1 em vez disso. |
| RFC 2177 | IDLE | Implementado | O FOLD mantém IDLE na caixa de entrada de cada conta e o renova a cada 25 minutos; as outras pastas são consultadas periodicamente, no iPhone e no iPad só enquanto o app está aberto. |
| RFC 4315 | UIDPLUS | Implementado | UID EXPUNGE, para que o FOLD só remova as próprias mensagens. |
| RFC 6851 | MOVE | Implementado | Com COPY e EXPUNGE como alternativa; depois de um MOVE, o FOLD verifica o que ficou na origem. |
| RFC 7162 | CONDSTORE and QRESYNC | Implementado | Sincronização incremental, incluindo VANISHED (EARLIER). |
| RFC 5161 | ENABLE | Implementado | Uma ativação só vale depois que o servidor a confirma com ENABLED. |
| RFC 6154 | SPECIAL-USE | Implementado | Os papéis das pastas vêm das marcações do servidor, nomes comuns servem só como alternativa, e pastas ausentes são criadas com seu papel. |
| RFC 9208 | QUOTA | Implementado | O uso da caixa postal é exibido no Mac. |
| RFC 7888 | LITERAL+ and LITERAL- | Implementado | Menos idas e voltas ao enviar dados ao servidor. |
| RFC 4959 | SASL-IR | Implementado | Início de sessão em uma só ida e volta. |
| RFC 5530 | IMAP Response Codes | Implementado | O FOLD distingue uma senha errada de um servidor temporariamente indisponível. |
| RFC 4731 | ESEARCH | Implementado | Resultados compactos para a busca no servidor no iPhone e no iPad; servidores sem ESEARCH recebem o SEARCH clássico.desde 2026-09-21 |
| RFC 5258 | LIST-EXTENDED | Implementado | Pastas e seus papéis em um só comando.desde 2026-09-21 |
| RFC 5819 | LIST-STATUS | Implementado | Contadores das pastas no mesmo LIST, sem selecionar cada pasta.desde 2026-09-21 |
| RFC 6855 | UTF8=ACCEPT | Implementado | Nomes de pasta e cabeçalhos em UTF-8; a codificação dos nomes de pasta é trocada em um único ponto.desde 2026-09-21 |
| RFC 2342 | NAMESPACE | Pendente | A capacidade é reconhecida, mas o comando nunca é enviado. |
| RFC 2971 | ID | Pendente | Alguns servidores do Yahoo o pedem antes do início de sessão. |
| RFC 4978 | COMPRESS=DEFLATE | Pendente | Adiado: requer um flush parcial que o framework Compression da Apple não oferece; o caminho previsto é usar a zlib diretamente. |
| RFC 8474 | OBJECTID | Pendente | IDs estáveis mesmo após renomeações; ainda não usado. |
| RFC 8970 | PREVIEW | Pendente | As prévias são geradas no dispositivo a partir da mensagem carregada. |
| RFC 8508 | REPLACE | Pendente | Os rascunhos são salvos no dispositivo durante a escrita e enviados ao servidor uma vez, ao fechar o editor de mensagem; uma cópia anterior no servidor não é substituída. |
| RFC 3516 | BINARY | Descartado | Não é necessário: o FOLD decodifica a árvore MIME por conta própria. |
| RFC 5256 | SORT and THREAD | Descartado | O FOLD monta as conversas localmente a partir de References e In-Reply-To, igual em todos os servidores. |
| RFC 5465 | NOTIFY | Descartado | Quase nenhum servidor do grupo-alvo o oferece. |
Envio (SMTP)
Como o FOLD entrega uma mensagem ao seu servidor.
| RFC | Padrão | Status | No FOLD |
|---|---|---|---|
| RFC 5321 | Simple Mail Transfer Protocol | Implementado | Incluindo dot-stuffing correto. |
| RFC 6409 | Message Submission for Mail | Implementado | Sempre com início de sessão antes do envio, na porta 587 ou 465. |
| RFC 4954 | SMTP Service Extension for Authentication | Implementado | Início de sessão com resposta inicial e interrupção limpa quando um método falha. |
| RFC 1870 | SIZE | Implementado | O tamanho é anunciado quando o servidor informa um limite, e uma mensagem acima dele é recusada antes do envio. |
| RFC 2920 | PIPELINING | Implementado | Remetente e destinatários em grupos; DATA só depois de todas as respostas do envelope, para que a mensagem vá para todos os destinatários ou para nenhum.desde 2026-09-21 |
| RFC 6152 | 8BITMIME | Implementado | Declarado quando a mensagem contém dados de 8 bits; sem suporte do servidor, o FOLD não envia 8 bits.desde 2026-09-21 |
| RFC 6531 | SMTPUTF8 | Implementado | Endereços internacionais e cabeçalhos UTF-8; se o servidor não o suporta, o FOLD para com uma mensagem clara.desde 2026-09-21 |
| RFC 3463 | Enhanced Mail System Status Codes | Implementado | As recusas são explicadas em palavras claras em vez de um código do servidor (com a RFC 2034).desde 2026-09-21 |
| RFC 3461 | Delivery Status Notifications | Pendente | Relatórios de entrega sob demanda não estão implementados. |
| RFC 3030 | CHUNKING (BDAT) | Descartado | Reconhecido, não usado; DATA cobre todos os casos. |
| RFC 8689 | REQUIRETLS | Descartado | Quase nenhum servidor o suporta ainda. |
Conexão e início de sessão
Criptografia da conexão, métodos de início de sessão e configuração automática.
| RFC | Padrão | Status | No FOLD |
|---|---|---|---|
| RFC 8314 | Cleartext Considered Obsolete | Implementado | O FOLD nunca se conecta sem TLS e prefere TLS implícito quando o DNS oferece os dois. |
| RFC 3207 | SMTP over TLS (STARTTLS) | Implementado | Se o servidor não oferece STARTTLS, o FOLD para em vez de enviar sem criptografia. |
| RFC 7817 | TLS Server Identity Check for Email | Implementado | A cadeia de certificados e o nome de host são verificados pelo sistema contra o servidor configurado. |
| RFC 4422 | SASL | Implementado | Estrutura para todos os métodos de início de sessão abaixo. |
| RFC 7677 | SCRAM-SHA-256 | Parcial | Preferido no envio (SMTP), com verificação da assinatura do servidor; o início de sessão IMAP ainda usa PLAIN. |
| RFC 4616 | PLAIN | Implementado | Só dentro de TLS, nunca sem criptografia (de propósito, mais rigoroso que a RFC). |
| RFC 6749 | OAuth 2.0 | Implementado | Início de sessão com o Google; XOAUTH2 para IMAP e SMTP, o método que os grandes provedores usam. |
| RFC 7636 | PKCE | Implementado | Em todo início de sessão OAuth, só S256; nenhum segredo de cliente no app. |
| RFC 8252 | OAuth 2.0 for Native Apps | Implementado | Início de sessão no navegador do sistema, nunca em uma visualização web incorporada. |
| RFC 7628 | OAUTHBEARER | Pendente | Nenhum provedor do grupo-alvo o exige; o XOAUTH2 os atende. |
| RFC 6186 | SRV Records for Email Submission and Access | Implementado | Uma das fontes da configuração automática. |
Criptografia e assinaturas
S/MIME e OpenPGP, e os componentes por trás deles.
| RFC | Padrão | Status | No FOLD |
|---|---|---|---|
| RFC 5652 | Cryptographic Message Syntax | Implementado | O formato de contêiner do S/MIME: implementação própria no iPhone e no iPad, a do sistema no Mac. |
| RFC 8551 | S/MIME 4.0 | Parcial | Assinar, verificar, criptografar e descriptografar com certificados RSA e AES-CBC; o AES-GCM, que o S/MIME 4.0 exige, ainda não é suportado. |
| RFC 1847 | Security Multiparts for MIME | Implementado | O envelope de e-mails assinados e criptografados. |
| RFC 3565 | AES in CMS | Implementado | AES para a criptografia S/MIME. |
| RFC 5754 | SHA-2 in CMS | Implementado | SHA-256 e superiores para assinaturas S/MIME. |
| RFC 5280 | X.509 Certificates | Implementado | Os caminhos de certificação são verificados pela avaliação de confiança do sistema; verificações de revogação são opcionais. |
| RFC 9580 | OpenPGP | Parcial | Chaves da versão 4 (Ed25519, Curve25519, RSA) com AES-256 e verificação de integridade, testadas com o gpg; chaves da versão 6 e criptografia AEAD ainda não são suportadas. |
| RFC 6637 | Elliptic Curve Cryptography in OpenPGP | Implementado | Chaves de criptografia Curve25519, o formato que o FOLD cria e usa. |
| RFC 3156 | MIME Security with OpenPGP | Implementado | PGP/MIME para e-mails assinados e criptografados. |
| RFC 3394 | AES Key Wrap | Implementado | Encapsula a chave de sessão para destinatários Curve25519. |
| RFC 7253 | OCB Authenticated Encryption | Implementado | Implementação própria sobre o AES do sistema, verificada com os vetores de teste da RFC; usada para ler mensagens do GnuPG criptografadas com OCB. |
| RFC 9106 | Argon2 | Implementado | Derivação de chaves do Modo Fortress, verificada com o vetor de teste da RFC. |
| RFC 7693 | BLAKE2 | Implementado | Dentro do Argon2, implementação própria verificada com o openssl. |
| RFC 5869 | HKDF | Implementado | Do CryptoKit, para o Modo Fortress. |
Autenticidade do remetente
Como o FOLD verifica quem realmente enviou uma mensagem.
| RFC | Padrão | Status | No FOLD |
|---|---|---|---|
| RFC 6376 | DKIM Signatures | Implementado | Verificação no dispositivo: o hash do corpo e a assinatura são recalculados. |
| RFC 8463 | Ed25519 for DKIM | Implementado | Verificado com a mensagem de exemplo da RFC. |
| RFC 8301 | DKIM Crypto Algorithm Usage | Implementado | Chaves com menos de 1024 bits e assinaturas rsa-sha1 são rejeitadas. |
| RFC 8601 | Authentication-Results | Parcial | Só valem resultados carimbados com o nome de host IMAP da conta; provedores que usam outro nome, entre eles o Gmail, ainda não geram resultado. |
| RFC 7489 | DMARC | Parcial | O FOLD usa o resultado DMARC que o seu servidor registrou e verifica o alinhamento por conta própria; a política publicada só é consultada antes de exibir o logotipo de uma marca. |
| RFC 7208 | SPF | Parcial | O SPF precisa do endereço IP de envio; o FOLD lê o resultado que o seu servidor registrou. |
| BIMI | Brand Indicators for Message Identification (Internet-Draft) | Implementado | Logotipo só depois que o DMARC passa com uma política restritiva e com um certificado de marca verificado; baixado uma vez por mensagem e guardado com ela. |
| RFC 9399 | Logotypes in X.509 Certificates | Implementado | O logotipo da marca vem do certificado de marca verificado. |
Como esta página é mantida
O status vem das regras de conformidade do FOLD e de uma auditoria da pilha de e-mail em relação às RFCs. Cada linha é verificada contra o código-fonte antes de aparecer aqui, e a página muda quando o código muda. No total, o código cita 95 RFCs diferentes; esta página mostra as que decidem se um cliente de e-mail funciona bem com servidores reais.